diff --git a/CHANGELOG b/CHANGELOG index 5427233b8..062ab8354 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ * 1.26.1 (2016-XX-XX) + * removed template source code from generated template classes when debug is disabled * fixed default implementation of Twig_Template::getDebugInfo() for better BC * fixed regression on static calls for functions/filters/tests diff --git a/lib/Twig/Lexer.php b/lib/Twig/Lexer.php index 6040f90c5..829164e88 100644 --- a/lib/Twig/Lexer.php +++ b/lib/Twig/Lexer.php @@ -136,7 +136,7 @@ class Twig_Lexer implements Twig_LexerInterface mb_internal_encoding($mbEncoding); } - return new Twig_TokenStream($this->tokens, $this->filename, $code); + return new Twig_TokenStream($this->tokens, $this->filename, $this->env->isDebug() ? $code : ''); } protected function lexData() diff --git a/test/Twig/Tests/LexerTest.php b/test/Twig/Tests/LexerTest.php index 00b56a5a0..ecc1184d4 100644 --- a/test/Twig/Tests/LexerTest.php +++ b/test/Twig/Tests/LexerTest.php @@ -10,6 +10,18 @@ */ class Twig_Tests_LexerTest extends PHPUnit_Framework_TestCase { + public function testStreamSource() + { + $env = new Twig_Environment($this->getMockBuilder('Twig_LoaderInterface')->getMock()); + $lexer = new Twig_Lexer($env); + + $env->disableDebug(); + $this->assertSame('', $lexer->tokenize('foo')->getSource()); + + $env->enableDebug(); + $this->assertSame('foo', $lexer->tokenize('foo')->getSource()); + } + public function testNameLabelForTag() { $template = '{% ยง %}';