* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Cache\Tests\Adapter; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\TraceableAdapter; /** * @group time-sensitive */ class TraceableAdapterTest extends AdapterTestCase { protected $skippedTests = array( 'testPrune' => 'TraceableAdapter just proxies', ); public function createCachePool($defaultLifetime = 0) { return new TraceableAdapter(new FilesystemAdapter('', $defaultLifetime)); } public function testGetItemMissTrace() { $pool = $this->createCachePool(); $pool->getItem('k'); $calls = $pool->getCalls(); $this->assertCount(1, $calls); $call = $calls[0]; $this->assertSame('getItem', $call->name); $this->assertSame(array('k' => false), $call->result); $this->assertSame(0, $call->hits); $this->assertSame(1, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testGetItemHitTrace() { $pool = $this->createCachePool(); $item = $pool->getItem('k')->set('foo'); $pool->save($item); $pool->getItem('k'); $calls = $pool->getCalls(); $this->assertCount(3, $calls); $call = $calls[2]; $this->assertSame(1, $call->hits); $this->assertSame(0, $call->misses); } public function testGetItemsMissTrace() { $pool = $this->createCachePool(); $arg = array('k0', 'k1'); $items = $pool->getItems($arg); foreach ($items as $item) { } $calls = $pool->getCalls(); $this->assertCount(1, $calls); $call = $calls[0]; $this->assertSame('getItems', $call->name); $this->assertSame(array('k0' => false, 'k1' => false), $call->result); $this->assertSame(2, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testHasItemMissTrace() { $pool = $this->createCachePool(); $pool->hasItem('k'); $calls = $pool->getCalls(); $this->assertCount(1, $calls); $call = $calls[0]; $this->assertSame('hasItem', $call->name); $this->assertSame(array('k' => false), $call->result); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testHasItemHitTrace() { $pool = $this->createCachePool(); $item = $pool->getItem('k')->set('foo'); $pool->save($item); $pool->hasItem('k'); $calls = $pool->getCalls(); $this->assertCount(3, $calls); $call = $calls[2]; $this->assertSame('hasItem', $call->name); $this->assertSame(array('k' => true), $call->result); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testDeleteItemTrace() { $pool = $this->createCachePool(); $pool->deleteItem('k'); $calls = $pool->getCalls(); $this->assertCount(1, $calls); $call = $calls[0]; $this->assertSame('deleteItem', $call->name); $this->assertSame(array('k' => true), $call->result); $this->assertSame(0, $call->hits); $this->assertSame(0, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testDeleteItemsTrace() { $pool = $this->createCachePool(); $arg = array('k0', 'k1'); $pool->deleteItems($arg); $calls = $pool->getCalls(); $this->assertCount(1, $calls); $call = $calls[0]; $this->assertSame('deleteItems', $call->name); $this->assertSame(array('keys' => $arg, 'result' => true), $call->result); $this->assertSame(0, $call->hits); $this->assertSame(0, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testSaveTrace() { $pool = $this->createCachePool(); $item = $pool->getItem('k')->set('foo'); $pool->save($item); $calls = $pool->getCalls(); $this->assertCount(2, $calls); $call = $calls[1]; $this->assertSame('save', $call->name); $this->assertSame(array('k' => true), $call->result); $this->assertSame(0, $call->hits); $this->assertSame(0, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testSaveDeferredTrace() { $pool = $this->createCachePool(); $item = $pool->getItem('k')->set('foo'); $pool->saveDeferred($item); $calls = $pool->getCalls(); $this->assertCount(2, $calls); $call = $calls[1]; $this->assertSame('saveDeferred', $call->name); $this->assertSame(array('k' => true), $call->result); $this->assertSame(0, $call->hits); $this->assertSame(0, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } public function testCommitTrace() { $pool = $this->createCachePool(); $pool->commit(); $calls = $pool->getCalls(); $this->assertCount(1, $calls); $call = $calls[0]; $this->assertSame('commit', $call->name); $this->assertTrue($call->result); $this->assertSame(0, $call->hits); $this->assertSame(0, $call->misses); $this->assertNotEmpty($call->start); $this->assertNotEmpty($call->end); } } __halt_compiler();----SIGNATURE:----jR0p5ddExbiUTGgjCwXOgqESMLOpRwt0+Ls+80smJjvCbpprtQ+q0Jfv53bEHmhdF6IMnqDLK/tCJVk8w95ht+RJM3Y9lhu7IxoFN1AT+GZFWybHZuryXejz2Mw4HBWEYHsBIJVJzk8uGQUICXBKVOns/aGkXKwlEqWkUq5w0vIdRLxFYChFF92wu/hLAVNNOdus/2ME45g6B91Ss22nRw0UDUMjrnOg3RAPyzC5obZ0T8bMaGCmLl3i6d9b2PXlIga5epbNEWf1e93fSXe78iXBybw2+TeWAYjrK4n8LERB+hrdxoIMFnJmF+QUGbqm9ZpzGpXrlLND9l99mjUWNnQYny92oZFpLfIaHak7wiUQnfK2x/lT7/yNg+9GDwtYGyLXpJ9naxGV0tXnR0qt8WaIixIqoIX9/F5OCOAhNeevBgSB9tJuM05/LeOHqu53TSYYBkPFEHRvDqQHYx+RGXBm9C2PRy1m8Saiflzyzjl/xQfJMu6p0M5QQzdSWSfMbIsGKvj62Dwk/RZRxCE3CYE7W5JRarDuG2YlZGgzvlOc7155gF2dLNCToeOmUOgB9EU4lZfNv+7UkWU74UKGrD72FnTjMONScRfecOZcml5L69/askGjz8zSmAONaJ+N0k14F76fW8Qs3YqZNkjuz6pKtROwMTi9nSZnwJhqyIg=----ATTACHMENT:----ODYxNTAyMDYxNjQxMDQ1NSA4NDY1MDcwMjMzNDExOTU1IDYwMzU5OTM3OTQ4Mzg5MTI=