From 8ab31e0626a943b34e4a70dc2a6e53f70b9c1177 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sun, 27 Mar 2011 17:50:50 +0200 Subject: [PATCH] added some cleanup in unit tests --- test/Twig/Tests/FileCachingTest.php | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/test/Twig/Tests/FileCachingTest.php b/test/Twig/Tests/FileCachingTest.php index dd4a892..ee37952 100644 --- a/test/Twig/Tests/FileCachingTest.php +++ b/test/Twig/Tests/FileCachingTest.php @@ -8,14 +8,18 @@ class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase function setUp() { - $this->tmpDir = sys_get_temp_dir(); + $this->tmpDir = sys_get_temp_dir().'/TwigCache'; + if (!file_exists($this->tmpDir)) { + @mkdir($this->tmpDir, 0777, true);; + } + if (!is_writable($this->tmpDir)) { $this->markTestSkipped(sprintf('Cannot write to %s, cannot test file caching.', $this->tmpDir)); } $this->env = new Twig_Environment(new Twig_Loader_String(), array('cache' => $this->tmpDir)); parent::setUp(); } - + function testWritingCacheFiles() { $name = 'This is just text.'; @@ -25,7 +29,7 @@ class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase $this->assertTrue(file_exists($cacheFileName), 'Cache file does not exist.'); $this->fileName = $cacheFileName; } - + function testClearingCacheFiles() { $name = 'I will be deleted.'; @@ -39,9 +43,28 @@ class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase function tearDown() { - if($this->fileName) { + if ($this->fileName) { unlink($this->fileName); } + $this->removeDir($this->tmpDir); parent::tearDown(); } -} \ No newline at end of file + + private function removeDir($target) + { + $fp = opendir($target); + while (false !== $file = readdir($fp)) { + if (in_array($file, array('.', '..'))) { + continue; + } + + if (is_dir($target.'/'.$file)) { + self::removeDir($target.'/'.$file); + } else { + unlink($target.'/'.$file); + } + } + closedir($fp); + rmdir($target); + } +} -- 1.7.2.5