4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\ExpressionLanguage\Tests;
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\ExpressionLanguage\ParsedExpression;
16 use Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheAdapter;
17 use Symfony\Component\ExpressionLanguage\Node\Node;
22 class ParserCacheAdapterTest extends TestCase
24 public function testGetItem()
26 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
30 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
33 ->expects($this->once())
39 $cacheItem = $parserCacheAdapter->getItem($key);
41 $this->assertEquals($cacheItem->get(), $value);
42 $this->assertEquals($cacheItem->isHit(), true);
45 public function testSave()
47 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
48 $cacheItemMock = $this->getMockBuilder('Psr\Cache\CacheItemInterface')->getMock();
50 $value = new ParsedExpression('1 + 1', new Node(array(), array()));
51 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
54 ->expects($this->once())
60 ->expects($this->once())
66 ->expects($this->once())
71 $cacheItem = $parserCacheAdapter->save($cacheItemMock);
74 public function testGetItems()
76 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
77 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
78 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
80 $parserCacheAdapter->getItems();
83 public function testHasItem()
85 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
87 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
88 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
90 $parserCacheAdapter->hasItem($key);
93 public function testClear()
95 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
96 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
97 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
99 $parserCacheAdapter->clear();
102 public function testDeleteItem()
104 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
106 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
107 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
109 $parserCacheAdapter->deleteItem($key);
112 public function testDeleteItems()
114 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
115 $keys = array('key');
116 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
117 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
119 $parserCacheAdapter->deleteItems($keys);
122 public function testSaveDeferred()
124 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
125 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
126 $cacheItemMock = $this->getMockBuilder('Psr\Cache\CacheItemInterface')->getMock();
127 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
129 $parserCacheAdapter->saveDeferred($cacheItemMock);
132 public function testCommit()
134 $poolMock = $this->getMockBuilder('Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface')->getMock();
135 $parserCacheAdapter = new ParserCacheAdapter($poolMock);
136 $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}(\BadMethodCallException::class);
138 $parserCacheAdapter->commit();