You are here

public function Twig_Tests_EnvironmentTest::testExtensionsAreNotInitializedWhenRenderingACompiledTemplate in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php \Twig_Tests_EnvironmentTest::testExtensionsAreNotInitializedWhenRenderingACompiledTemplate()

File

vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php, line 153

Class

Twig_Tests_EnvironmentTest

Code

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('{{ 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);
  unlink($key);
}