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)));
 }
Esempio n. 3
0
 /**
  * {@inheritdoc}
  */
 public function __construct($directory, $options = 0)
 {
     $this->dir = $directory;
     parent::__construct($directory, $options);
 }