Skip to content

Commit edfcaf6

Browse files
committed
test(cache-bundle): cover taggable profiler delegation
1 parent b50c3f5 commit edfcaf6

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

tests/Unit/DataCollector/TraceableCachePoolTest.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Cache\CacheBundle\Tests\Unit\DataCollector;
1515

1616
use Cache\Adapter\PHPArray\ArrayCachePool;
17+
use Cache\CacheBundle\Cache\FixedTaggingCachePool;
1718
use Cache\CacheBundle\DataCollector\CacheDataCollector;
1819
use Cache\CacheBundle\DataCollector\TraceableCachePool;
1920
use Cache\Namespaced\NamespacedCachePool;
@@ -156,6 +157,26 @@ public function testTaggableTraceReturnsAndRecordsTaggableItems()
156157
self::assertSame(['getItem', 'getItems'], array_column($pool->getCalls(), 'name'));
157158
}
158159

160+
public function testTracesTaggablePoolsWithoutPhpCacheExtensions()
161+
{
162+
$inner = new FixedTaggingCachePool(new ArrayCachePool(), []);
163+
self::assertTrue($inner->save($inner->getItem('one')->set('value')));
164+
165+
$pool = TraceableCachePool::create($inner, 'cache.pool');
166+
self::assertInstanceOf(TaggableCacheItemPoolInterface::class, $pool);
167+
168+
self::assertSame('value', $pool->getItem('one')->get());
169+
$items = iterator_to_array($pool->getItems(['one']));
170+
self::assertSame('value', $items['one']->get());
171+
self::assertTrue($pool->invalidateTag('router'));
172+
self::assertTrue($pool->invalidateTags(['session', 'router']));
173+
174+
self::assertSame(
175+
['getItem', 'getItems', 'invalidateTag', 'invalidateTags'],
176+
array_column($pool->getCalls(), 'name'),
177+
);
178+
}
179+
159180
public function testTaggableTraceRejectsNonTaggableBulkItems()
160181
{
161182
$inner = $this->createMock(TaggableCacheItemPoolInterface::class);

0 commit comments

Comments
 (0)