Skip to content

Commit

Permalink
bug #20271 Changes related to Twig 1.27 (fabpot)
Browse files Browse the repository at this point in the history
This PR was merged into the 2.7 branch.

Discussion
----------

Changes related to Twig 1.27

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

317d46f [TwigBundle] fixed usage of getSource in tests
b9a4586 [TwigBridge] fixed Twig_Source required argument
  • Loading branch information
fabpot committed Oct 22, 2016
2 parents 0c551b5 + 317d46f commit 122ac67
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 22 deletions.
Expand Up @@ -23,7 +23,7 @@ public function testEscaping($template, $mustBeEscaped)
$twig = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('debug' => true, 'cache' => false, 'autoescape' => 'html', 'optimizations' => 0));
$twig->addExtension(new RoutingExtension($this->getMock('Symfony\Component\Routing\Generator\UrlGeneratorInterface')));

$nodes = $twig->parse($twig->tokenize(new \Twig_Source($template)));
$nodes = $twig->parse($twig->tokenize(new \Twig_Source($template, '')));

$this->assertSame($mustBeEscaped, $nodes->getNode('body')->getNode(0)->getNode('expr') instanceof \Twig_Node_Expression_Filter);
}
Expand Down
Expand Up @@ -25,7 +25,7 @@ public static function getModule($content)
new \Twig_Node_Expression_Array(array(), 0),
new \Twig_Node_Expression_Array(array(), 0),
null,
new \Twig_Source('')
new \Twig_Source('', '')
);
}

Expand Down
Expand Up @@ -23,7 +23,7 @@ public function testCompile($source, $expected)
{
$env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('cache' => false, 'autoescape' => false, 'optimizations' => 0));
$env->addTokenParser(new FormThemeTokenParser());
$stream = $env->tokenize(new \Twig_Source($source));
$stream = $env->tokenize(new \Twig_Source($source, ''));
$parser = new \Twig_Parser($env);

$this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0));
Expand Down
2 changes: 1 addition & 1 deletion src/Symfony/Bridge/Twig/Translation/TwigExtractor.php
Expand Up @@ -85,7 +85,7 @@ protected function extractTemplate($template, MessageCatalogue $catalogue)
$visitor = $this->twig->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->getTranslationNodeVisitor();
$visitor->enable();

$this->twig->parse($this->twig->tokenize(new \Twig_Source($template)));
$this->twig->parse($this->twig->tokenize(new \Twig_Source($template, '')));

foreach ($visitor->getMessages() as $message) {
$catalogue->set(trim($message[0]), $this->prefix.trim($message[0]), $message[1] ?: $this->defaultDomain);
Expand Down
Expand Up @@ -17,7 +17,7 @@

class FilesystemLoaderTest extends TestCase
{
public function testGetSource()
public function testGetSourceContext()
{
$parser = $this->getMock('Symfony\Component\Templating\TemplateNameParserInterface');
$locator = $this->getMock('Symfony\Component\Config\FileLocatorInterface');
Expand All @@ -30,10 +30,10 @@ public function testGetSource()
$loader->addPath(__DIR__.'/../DependencyInjection/Fixtures/Resources/views', 'namespace');

// Twig-style
$this->assertEquals("This is a layout\n", $loader->getSource('@namespace/layout.html.twig'));
$this->assertEquals("This is a layout\n", $loader->getSourceContext('@namespace/layout.html.twig')->getCode());

// Symfony-style
$this->assertEquals("This is a layout\n", $loader->getSource('TwigBundle::layout.html.twig'));
$this->assertEquals("This is a layout\n", $loader->getSourceContext('TwigBundle::layout.html.twig')->getCode());
}

public function testExists()
Expand Down
Expand Up @@ -27,7 +27,7 @@ public function testCompile($source, $expected)
{
$env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('cache' => false, 'autoescape' => false, 'optimizations' => 0));
$env->addTokenParser(new RenderTokenParser());
$stream = $env->tokenize(new \Twig_Source($source));
$stream = $env->tokenize(new \Twig_Source($source, ''));
$parser = new \Twig_Parser($env);

$this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0));
Expand Down
Expand Up @@ -126,7 +126,11 @@ protected function templateExists($template)
}

try {
$loader->getSource($template);
if ($loader instanceof \Twig_SourceContextLoaderInterface) {
$loader->getSourceContext($template);
} else {
$loader->getSource($template);
}

return true;
} catch (\Twig_Error_Loader $e) {
Expand Down
Expand Up @@ -31,11 +31,6 @@ class TemplateManagerTest extends TestCase
*/
protected $profiler;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
*/
protected $profile;

/**
* @var \Symfony\Bundle\WebProfilerBundle\Profiler\TemplateManager
*/
Expand Down Expand Up @@ -129,11 +124,7 @@ public function profileHasCollectorCallback($panel)

protected function mockProfile()
{
$this->profile = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile')
->disableOriginalConstructor()
->getMock();

return $this->profile;
return $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile')->disableOriginalConstructor()->getMock();
}

protected function mockTwigEnvironment()
Expand All @@ -144,9 +135,12 @@ protected function mockTwigEnvironment()
->method('loadTemplate')
->will($this->returnValue('loadedTemplate'));

$this->twigEnvironment->expects($this->any())
->method('getLoader')
->will($this->returnValue($this->getMock('\Twig_LoaderInterface')));
if (interface_exists('\Twig_SourceContextLoaderInterface')) {
$loader = $this->getMock('\Twig_SourceContextLoaderInterface');
} else {
$loader = $this->getMock('\Twig_LoaderInterface');
}
$this->twigEnvironment->expects($this->any())->method('getLoader')->will($this->returnValue($loader));

return $this->twigEnvironment;
}
Expand Down

0 comments on commit 122ac67

Please sign in to comment.