public function testExtensionsAreNotInitializedWhenRenderingACompiledTemplate() { $cache = new Twig_Cache_Filesystem($dir = sys_get_temp_dir() . '/twig'); $options = array('cache' => $cache, 'auto_reload' => false, 'debug' => false); // force compilation $twig = new Twig_Environment($loader = new Twig_Loader_Array(array('index' => '{{ foo }}')), $options); $key = $cache->generateKey('index', $twig->getTemplateClass('index')); $cache->write($key, $twig->compileSource(new Twig_Source('{{ foo }}', 'index'))); // check that extensions won't be initialized when rendering a template that is already in the cache $twig = $this->getMockBuilder('Twig_Environment')->setConstructorArgs(array($loader, $options))->setMethods(array('initExtensions'))->getMock(); $twig->expects($this->never())->method('initExtensions'); // render template $output = $twig->render('index', array('foo' => 'bar')); $this->assertEquals('bar', $output); Twig_Tests_FilesystemHelper::removeDir($dir); }
/** * Test file cache is tolerant towards trailing (back)slashes on the configured cache directory. * * @dataProvider provideDirectories */ public function testGenerateKey($expected, $input) { $cache = new Twig_Cache_Filesystem($input); $this->assertRegExp($expected, $cache->generateKey('_test_', get_class($this))); }
/** * {@inheritdoc} */ public function __construct($directory, $options = 0) { $this->dir = $directory; parent::__construct($directory, $options); }