scratch – Blame information for rev 122
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
120 | office | 1 | <?php |
2 | |||
3 | namespace Doctrine\Tests\Common\Cache; |
||
4 | |||
5 | use Doctrine\Common\Cache\Cache; |
||
6 | use Doctrine\Common\Cache\FilesystemCache; |
||
7 | |||
8 | /** |
||
9 | * @group DCOM-101 |
||
10 | */ |
||
11 | class FilesystemCacheTest extends BaseFileCacheTest |
||
12 | { |
||
13 | public function testGetStats() |
||
14 | { |
||
15 | $cache = $this->_getCacheDriver(); |
||
16 | $stats = $cache->getStats(); |
||
17 | |||
18 | $this->assertNull($stats[Cache::STATS_HITS]); |
||
19 | $this->assertNull($stats[Cache::STATS_MISSES]); |
||
20 | $this->assertNull($stats[Cache::STATS_UPTIME]); |
||
21 | $this->assertEquals(0, $stats[Cache::STATS_MEMORY_USAGE]); |
||
22 | $this->assertGreaterThan(0, $stats[Cache::STATS_MEMORY_AVAILABLE]); |
||
23 | } |
||
24 | |||
25 | public function testCacheInSharedDirectoryIsPerExtension() |
||
26 | { |
||
27 | $cache1 = new FilesystemCache($this->directory, '.foo'); |
||
28 | $cache2 = new FilesystemCache($this->directory, '.bar'); |
||
29 | |||
30 | $this->assertTrue($cache1->save('key1', 11)); |
||
31 | $this->assertTrue($cache1->save('key2', 12)); |
||
32 | |||
33 | $this->assertTrue($cache2->save('key1', 21)); |
||
34 | $this->assertTrue($cache2->save('key2', 22)); |
||
35 | |||
36 | $this->assertSame(11, $cache1->fetch('key1'), 'Cache value must not be influenced by a different cache in the same directory but different extension'); |
||
37 | $this->assertSame(12, $cache1->fetch('key2')); |
||
38 | $this->assertTrue($cache1->flushAll()); |
||
39 | $this->assertFalse($cache1->fetch('key1'), 'flushAll() must delete all items with the current extension'); |
||
40 | $this->assertFalse($cache1->fetch('key2')); |
||
41 | |||
42 | $this->assertSame(21, $cache2->fetch('key1'), 'flushAll() must not remove items with a different extension in a shared directory'); |
||
43 | $this->assertSame(22, $cache2->fetch('key2')); |
||
44 | } |
||
45 | |||
46 | public function testFlushAllWithNoExtension() |
||
47 | { |
||
48 | $cache = new FilesystemCache($this->directory, ''); |
||
49 | |||
50 | $this->assertTrue($cache->save('key1', 1)); |
||
51 | $this->assertTrue($cache->save('key2', 2)); |
||
52 | $this->assertTrue($cache->flushAll()); |
||
53 | $this->assertFalse($cache->contains('key1')); |
||
54 | $this->assertFalse($cache->contains('key2')); |
||
55 | } |
||
56 | |||
57 | protected function _getCacheDriver() |
||
58 | { |
||
59 | return new FilesystemCache($this->directory); |
||
60 | } |
||
61 | } |