refactored some tests
authorFabien Potencier <fabien.potencier@gmail.com>
Tue, 12 Apr 2011 07:22:15 +0000 (09:22 +0200)
committerFabien Potencier <fabien.potencier@gmail.com>
Tue, 12 Apr 2011 07:31:35 +0000 (09:31 +0200)
test/Twig/Tests/FileCachingTest.php
test/Twig/Tests/TestCase.php [new file with mode: 0644]

index ee37952..dab8557 100644 (file)
@@ -1,26 +1,29 @@
 <?php
 
-class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase
+require_once dirname(__FILE__).'/TestCase.php';
+
+class Twig_Tests_FileCachingTest extends Twig_Tests_TestCase
 {
     protected $fileName;
-    protected $tmpDir;
     protected $env;
 
-    function setUp()
+    public function setUp()
     {
-        $this->tmpDir = sys_get_temp_dir().'/TwigCache';
-        if (!file_exists($this->tmpDir)) {
-            @mkdir($this->tmpDir, 0777, true);;
-        }
+        parent::setUp();
 
-        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()
+    public function tearDown()
+    {
+        if ($this->fileName) {
+            unlink($this->fileName);
+        }
+
+        parent::tearDown();
+    }
+
+    public function testWritingCacheFiles()
     {
         $name = 'This is just text.';
         $template = $this->env->loadTemplate($name);
@@ -30,7 +33,7 @@ class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase
         $this->fileName = $cacheFileName;
     }
 
-    function testClearingCacheFiles()
+    public function testClearingCacheFiles()
     {
         $name = 'I will be deleted.';
         $template = $this->env->loadTemplate($name);
@@ -40,31 +43,4 @@ class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase
         $this->env->clearCacheFiles();
         $this->assertFalse(file_exists($cacheFileName), 'Cache file was not cleared.');
     }
-
-    function tearDown()
-    {
-        if ($this->fileName) {
-            unlink($this->fileName);
-        }
-        $this->removeDir($this->tmpDir);
-        parent::tearDown();
-    }
-
-    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);
-    }
 }
diff --git a/test/Twig/Tests/TestCase.php b/test/Twig/Tests/TestCase.php
new file mode 100644 (file)
index 0000000..9dd6d21
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+
+class Twig_Tests_TestCase extends PHPUnit_Framework_TestCase
+{
+    protected $tmpDir;
+
+    public function getTempDir()
+    {
+        return $this->tmpDir;
+    }
+
+    function setUp()
+    {
+        $this->tmpDir = sys_get_temp_dir().'/TwigTests';
+        if (!file_exists($this->tmpDir)) {
+            @mkdir($this->tmpDir, 0777, true);;
+        }
+
+        if (!is_writable($this->tmpDir)) {
+            $this->markTestSkipped(sprintf('Unable to run the tests as "%s" is not writable.', $this->tmpDir));
+        }
+
+        parent::setUp();
+    }
+
+    function tearDown()
+    {
+        $this->removeDir($this->tmpDir);
+
+        parent::tearDown();
+    }
+
+    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);
+    }
+}