diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/unit/Caching/TDirectoryCacheDependencyTest.php | 84 | ||||
| -rw-r--r-- | tests/unit/Caching/TFileCacheDependencyTest.php | 60 | 
2 files changed, 144 insertions, 0 deletions
| diff --git a/tests/unit/Caching/TDirectoryCacheDependencyTest.php b/tests/unit/Caching/TDirectoryCacheDependencyTest.php new file mode 100644 index 00000000..786720da --- /dev/null +++ b/tests/unit/Caching/TDirectoryCacheDependencyTest.php @@ -0,0 +1,84 @@ +<?php + +require_once(dirname(__FILE__).'/../phpunit2.php'); + +/** + * @package System.Caching + */ +class TDirectoryCacheDependencyTest extends PHPUnit2_Framework_TestCase +{ +	public function setUp() +	{ +	} + +	public function tearDown() +	{ +	} + +	public function testDirectoryName() +	{ +		$directory=realpath(dirname(__FILE__).'/temp'); +		$dependency=new TDirectoryCacheDependency(dirname(__FILE__).'/temp'); +		$this->assertEquals($dependency->getDirectory(),$directory); + +		try +		{ +			$dependency=new TDirectoryCacheDependency(dirname(__FILE__).'/temp2'); +			$this->fail("Expected exception is not raised"); +		} +		catch(TInvalidDataValueException $e) +		{ +		} +	} + +	public function testRecursiveCheck() +	{ +		$directory=realpath(dirname(__FILE__).'/temp'); +		$dependency=new TDirectoryCacheDependency(dirname(__FILE__).'/temp'); +		$this->assertTrue($dependency->getRecursiveCheck()); +		$dependency->setRecursiveCheck(false); +		$this->assertFalse($dependency->getRecursiveCheck()); +	} + +	public function testRecursiveLevel() +	{ +		$directory=realpath(dirname(__FILE__).'/temp'); +		$dependency=new TDirectoryCacheDependency(dirname(__FILE__).'/temp'); +		$this->assertEquals($dependency->getRecursiveLevel(),-1); +		$dependency->setRecursiveLevel(5); +		$this->assertEquals($dependency->getRecursiveLevel(),5); +	} + +	public function testHasChanged() +	{ +		$tempFile=dirname(__FILE__).'/temp/foo.txt'; +		@unlink($tempFile); +		$fw=fopen($tempFile,"w"); +		fwrite($fw,"test"); +		fclose($fw); +		clearstatcache(); + +		$dependency=new TDirectoryCacheDependency(dirname($tempFile)); +		$str=serialize($dependency); + +		// test directory 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 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 | 
