@group DCOM-101
Expanded class hierarchy of PhpFileCacheTest
class PhpFileCacheTest extends CacheTest {
/**
* @var \Doctrine\Common\Cache\PhpFileCache
*/
private $driver;
protected function _getCacheDriver() {
$dir = sys_get_temp_dir() . "/doctrine_cache_" . uniqid();
$this
->assertFalse(is_dir($dir));
$this->driver = new PhpFileCache($dir);
$this
->assertTrue(is_dir($dir));
return $this->driver;
}
public function testObjects() {
$this
->markTestSkipped('PhpFileCache does not support saving objects that dont implement __set_state()');
}
public function testLifetime() {
$cache = $this
->_getCacheDriver();
// Test save
$cache
->save('test_key', 'testing this out', 10);
// Test contains to test that save() worked
$this
->assertTrue($cache
->contains('test_key'));
// Test fetch
$this
->assertEquals('testing this out', $cache
->fetch('test_key'));
// access private methods
$getFilename = new \ReflectionMethod($cache, 'getFilename');
$getNamespacedId = new \ReflectionMethod($cache, 'getNamespacedId');
$getFilename
->setAccessible(true);
$getNamespacedId
->setAccessible(true);
$id = $getNamespacedId
->invoke($cache, 'test_key');
$path = $getFilename
->invoke($cache, $id);
$value = (include $path);
// update lifetime
$value['lifetime'] = $value['lifetime'] - 20;
file_put_contents($path, '<?php return unserialize(' . var_export(serialize($value), true) . ');');
// test expired data
$this
->assertFalse($cache
->contains('test_key'));
$this
->assertFalse($cache
->fetch('test_key'));
}
public function testImplementsSetState() {
$cache = $this
->_getCacheDriver();
// Test save
$cache
->save('test_set_state', new SetStateClass(array(
1,
2,
3,
)));
//Test __set_state call
$this
->assertCount(0, SetStateClass::$values);
// Test fetch
$value = $cache
->fetch('test_set_state');
$this
->assertInstanceOf('Doctrine\\Tests\\Common\\Cache\\SetStateClass', $value);
$this
->assertEquals(array(
1,
2,
3,
), $value
->getValue());
//Test __set_state call
$this
->assertCount(1, SetStateClass::$values);
// Test contains
$this
->assertTrue($cache
->contains('test_set_state'));
}
public function testNotImplementsSetState() {
$cache = $this
->_getCacheDriver();
$this
->setExpectedException('InvalidArgumentException');
$cache
->save('test_not_set_state', new NotSetStateClass(array(
1,
2,
3,
)));
}
public function testGetStats() {
$cache = $this
->_getCacheDriver();
$stats = $cache
->getStats();
$this
->assertNull($stats);
}
public function tearDown() {
if (!$this->driver) {
return;
}
$dir = $this->driver
->getDirectory();
$ext = $this->driver
->getExtension();
$iterator = new \RecursiveDirectoryIterator($dir);
foreach (new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST) as $file) {
if ($file
->isFile()) {
@unlink($file
->getRealPath());
}
else {
@rmdir($file
->getRealPath());
}
}
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheTest:: |
public | function | ||
CacheTest:: |
public | function | ||
CacheTest:: |
public | function | ||
CacheTest:: |
public | function | ||
PhpFileCacheTest:: |
private | property | ||
PhpFileCacheTest:: |
public | function | ||
PhpFileCacheTest:: |
public | function |
@group DCOM-43 Overrides CacheTest:: |
|
PhpFileCacheTest:: |
public | function | ||
PhpFileCacheTest:: |
public | function | ||
PhpFileCacheTest:: |
public | function | ||
PhpFileCacheTest:: |
public | function |
Overrides CacheTest:: |
|
PhpFileCacheTest:: |
protected | function |
Overrides CacheTest:: |