Passed
Push — master ( dc1d0d...74f1fd )
by Alexander
01:47
created

TagDependencyTest::testInvalidateByTag()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
dl 0
loc 17
rs 9.9332
c 1
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
namespace Yiisoft\Cache\Tests\Dependency;
3
4
use Yiisoft\Cache\ArrayCache;
5
use Yiisoft\Cache\Cache;
6
use Yiisoft\Cache\CacheInterface;
7
use Yiisoft\Cache\Dependency\TagDependency;
8
9
class TagDependencyTest extends DependencyTestCase
10
{
11
    protected function createCache(): CacheInterface
12
    {
13
        return new Cache(new ArrayCache());
14
    }
15
16
    public function testInvalidateByTag(): void
17
    {
18
        $cache = $this->getCache();
19
        $cache->set('item_42_price', 13, null, new TagDependency('item_42'));
20
        $cache->set('item_42_total', 26, null, new TagDependency('item_42'));
21
22
        $this->assertSame(13, $cache->get('item_42_price'));
23
        $this->assertSame(26, $cache->get('item_42_total'));
24
25
        TagDependency::invalidate($cache, 'item_42');
26
27
        // keys are invalidated but are still there
28
        $this->assertTrue($cache->has('item_42_price'));
29
        $this->assertTrue($cache->has('item_42_total'));
30
31
        $this->assertNull($cache->get('item_42_price'));
32
        $this->assertNull($cache->get('item_42_total'));
33
    }
34
}
35