mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-04 07:14:06 +01:00
61 lines
1.5 KiB
PHP
61 lines
1.5 KiB
PHP
<?php
|
|
|
|
Yii::import('system.caching.dependencies.CDirectoryCacheDependency');
|
|
|
|
class CDirectoryCacheDependencyTest extends CTestCase
|
|
{
|
|
public function testDirectoryName()
|
|
{
|
|
$directory=realpath(dirname(__FILE__).'/temp');
|
|
$dependency=new CDirectoryCacheDependency($directory);
|
|
$this->assertEquals($dependency->directory,$directory);
|
|
|
|
$this->setExpectedException('CException');
|
|
$dependency=new CDirectoryCacheDependency(dirname(__FILE__).'/temp2');
|
|
$dependency->evaluateDependency();
|
|
}
|
|
|
|
public function testRecursiveLevel()
|
|
{
|
|
$directory=realpath(dirname(__FILE__).'/temp');
|
|
$dependency=new CDirectoryCacheDependency(dirname(__FILE__).'/temp');
|
|
$this->assertEquals($dependency->recursiveLevel,-1);
|
|
$dependency->recursiveLevel=5;
|
|
$this->assertEquals($dependency->recursiveLevel,5);
|
|
}
|
|
|
|
public function testHasChanged()
|
|
{
|
|
$tempFile=dirname(__FILE__).'/temp/foo.txt';
|
|
@unlink($tempFile);
|
|
$fw=fopen($tempFile,"w");
|
|
fwrite($fw,"test");
|
|
fclose($fw);
|
|
clearstatcache();
|
|
|
|
$dependency=new CDirectoryCacheDependency(dirname($tempFile));
|
|
$dependency->evaluateDependency();
|
|
$str=serialize($dependency);
|
|
|
|
// test directory not changed
|
|
sleep(2);
|
|
$dependency=unserialize($str);
|
|
$this->assertFalse($dependency->hasChanged);
|
|
|
|
// change file
|
|
$fw=fopen($tempFile,"w");
|
|
fwrite($fw,"test again");
|
|
fclose($fw);
|
|
clearstatcache();
|
|
|
|
// test file changed
|
|
sleep(2);
|
|
$dependency->evaluateDependency();
|
|
$dependency=unserialize($str);
|
|
$this->assertTrue($dependency->hasChanged);
|
|
|
|
@unlink($tempFile);
|
|
}
|
|
}
|
|
|
|
?>
|