blob: 8efc948f4db1480943529a733cca25a81e36c1f5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<?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);
}
}
|