| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?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);
    }
}
 |