1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
-
- class Twig_Tests_FileCachingTest extends PHPUnit_Framework_TestCase
- {
- protected $fileName;
- protected $env;
- protected $tmpDir;
-
- public 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));
- }
-
- $this->env = new Twig_Environment(new Twig_Loader_String(), array('cache' => $this->tmpDir));
- }
-
- public function tearDown()
- {
- if ($this->fileName) {
- unlink($this->fileName);
- }
-
- $this->removeDir($this->tmpDir);
- }
-
- public function testWritingCacheFiles()
- {
- $name = 'This is just text.';
- $template = $this->env->loadTemplate($name);
- $cacheFileName = $this->env->getCacheFilename($name);
-
- $this->assertTrue(file_exists($cacheFileName), 'Cache file does not exist.');
- $this->fileName = $cacheFileName;
- }
-
- public function testClearingCacheFiles()
- {
- $name = 'I will be deleted.';
- $template = $this->env->loadTemplate($name);
- $cacheFileName = $this->env->getCacheFilename($name);
-
- $this->assertTrue(file_exists($cacheFileName), 'Cache file does not exist.');
- $this->env->clearCacheFiles();
- $this->assertFalse(file_exists($cacheFileName), 'Cache file was not cleared.');
- }
-
- 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);
- }
- }
|