diff options
Diffstat (limited to 'tests/unit/Caching/TFileCacheDependencyTest.php')
-rw-r--r-- | tests/unit/Caching/TFileCacheDependencyTest.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/unit/Caching/TFileCacheDependencyTest.php b/tests/unit/Caching/TFileCacheDependencyTest.php new file mode 100644 index 00000000..6b61aed6 --- /dev/null +++ b/tests/unit/Caching/TFileCacheDependencyTest.php @@ -0,0 +1,60 @@ +<?php + +require_once(dirname(__FILE__).'/../phpunit2.php'); + +/** + * @package System.Caching + */ +class TFileCacheDependencyTest extends PHPUnit2_Framework_TestCase +{ + public function setUp() + { + } + + public function tearDown() + { + } + + public function testFileName() + { + $dependency=new TFileCacheDependency(__FILE__); + $this->assertEquals($dependency->getFileName(),__FILE__); + $this->assertEquals($dependency->getTimestamp(),filemtime(__FILE__)); + + $dependency=new TFileCacheDependency(dirname(__FILE__).'/foo.txt'); + $this->assertFalse($dependency->getTimestamp()); + } + + public function testHasChanged() + { + $tempFile=dirname(__FILE__).'/temp/foo.txt'; + @unlink($tempFile); + $fw=fopen($tempFile,"w"); + fwrite($fw,"test"); + fclose($fw); + clearstatcache(); + + $dependency=new TFileCacheDependency($tempFile); + $str=serialize($dependency); + + // test file not changed + sleep(2); + $dependency=unserialize($str); + $this->assertFalse($dependency->getHasChanged()); + + // change file + $fw=fopen($tempFile,"w"); + fwrite($fw,"test again"); + fclose($fw); + clearstatcache(); + + // test file changed + sleep(2); + $dependency=unserialize($str); + $this->assertTrue($dependency->getHasChanged()); + + @unlink($tempFile); + } +} + +?>
\ No newline at end of file |