Add (failing) test case for disabling lambda cache.

This commit is contained in:
Justin Hileman
2014-03-25 18:15:52 -07:00
parent 085729aa27
commit b61af6e4e8
2 changed files with 45 additions and 3 deletions
@@ -13,9 +13,8 @@
* @group lambdas
* @group functional
*/
class Mustache_Test_Functional_HigherOrderSectionsTest extends PHPUnit_Framework_TestCase
class Mustache_Test_Functional_HigherOrderSectionsTest extends Mustache_Test_FunctionalTestCase
{
private $mustache;
public function setUp()
@@ -100,6 +99,49 @@ class Mustache_Test_Functional_HigherOrderSectionsTest extends PHPUnit_Framework
$this->assertEquals('<em>' . $foo->name . '</em>', $tpl->render($foo));
}
public function testEnablingLambdaCacheActuallyWorks()
{
$cacheDir = $this->setUpCacheDir('test_enabling_lambda_cache');
$mustache = new Mustache_Engine(array(
'template_class_prefix' => '_TestEnablingLambdaCache_',
'cache' => $cacheDir,
'cache_lambda_templates' => true,
));
$tpl = $mustache->loadTemplate('{{#wrap}}{{name}}{{/wrap}}');
$foo = new Mustache_Test_Functional_Foo;
$foo->wrap = array($foo, 'wrapWithEm');
$this->assertEquals('<em>' . $foo->name . '</em>', $tpl->render($foo));
$this->assertCount(2, glob($cacheDir . '/*.php'));
}
public function testDisablingLambdaCacheActuallyWorks()
{
$cacheDir = $this->setUpCacheDir('test_disabling_lambda_cache');
$mustache = new Mustache_Engine(array(
'template_class_prefix' => '_TestDisablingLambdaCache_',
'cache' => $cacheDir,
'cache_lambda_templates' => false,
));
$tpl = $mustache->loadTemplate('{{#wrap}}{{name}}{{/wrap}}');
$foo = new Mustache_Test_Functional_Foo;
$foo->wrap = array($foo, 'wrapWithEm');
$this->assertEquals('<em>' . $foo->name . '</em>', $tpl->render($foo));
$this->assertCount(1, glob($cacheDir . '/*.php'));
}
protected function setUpCacheDir($name)
{
$cacheDir = self::$tempDir . '/' . $name;
if (file_exists($cacheDir)) {
self::rmdir($cacheDir);
}
mkdir($cacheDir, 0777, true);
return $cacheDir;
}
}
class Mustache_Test_Functional_Foo
+1 -1
View File
@@ -24,7 +24,7 @@ abstract class Mustache_Test_FunctionalTestCase extends PHPUnit_Framework_TestCa
/**
* @param string $path
*/
private static function rmdir($path)
protected static function rmdir($path)
{
$path = rtrim($path, '/').'/';
$handle = opendir($path);