scratch – Blame information for rev 115

Subversion Repositories:
Rev:
Rev Author Line No. Line
115 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 }