diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php index 12eaad379608..d218f62eec85 100644 --- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php +++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php @@ -22,6 +22,7 @@ use Twig\Node\Expression\NameExpression; use Twig\Node\ModuleNode; use Twig\Node\Node; +use Twig\Node\Nodes; use Twig\Node\SetNode; use Twig\NodeVisitor\NodeVisitorInterface; @@ -53,7 +54,11 @@ public function enterNode(Node $node, Environment $env): Node $name = new AssignNameExpression($var, $node->getTemplateLine()); $this->scope->set('domain', new NameExpression($var, $node->getTemplateLine())); - return new SetNode(false, new Node([$name]), new Node([$node->getNode('expr')]), $node->getTemplateLine()); + if (class_exists(Nodes::class)) { + return new SetNode(false, new Nodes([$name]), new Nodes([$node->getNode('expr')]), $node->getTemplateLine()); + } else { + return new SetNode(false, new Node([$name]), new Node([$node->getNode('expr')]), $node->getTemplateLine()); + } } } diff --git a/src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php b/src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php index f655a04ae3bd..a19ba0414863 100644 --- a/src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php @@ -18,6 +18,7 @@ use Twig\Loader\LoaderInterface; use Twig\Node\Expression\NameExpression; use Twig\Node\Node; +use Twig\Node\Nodes; class DumpNodeTest extends TestCase { @@ -71,9 +72,16 @@ public function testIndented() public function testOneVar() { - $vars = new Node([ - new NameExpression('foo', 7), - ]); + if (class_exists(Nodes::class)) { + $vars = new Nodes([ + new NameExpression('foo', 7), + ]); + } else { + $vars = new Node([ + new NameExpression('foo', 7), + ]); + } + $node = new DumpNode('bar', $vars, 7); $env = new Environment($this->createMock(LoaderInterface::class)); @@ -94,10 +102,18 @@ public function testOneVar() public function testMultiVars() { - $vars = new Node([ - new NameExpression('foo', 7), - new NameExpression('bar', 7), - ]); + if (class_exists(Nodes::class)) { + $vars = new Nodes([ + new NameExpression('foo', 7), + new NameExpression('bar', 7), + ]); + } else { + $vars = new Node([ + new NameExpression('foo', 7), + new NameExpression('bar', 7), + ]); + } + $node = new DumpNode('bar', $vars, 7); $env = new Environment($this->createMock(LoaderInterface::class)); diff --git a/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php b/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php index cf9819123305..d211bf26974c 100644 --- a/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php @@ -23,6 +23,7 @@ use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\NameExpression; use Twig\Node\Node; +use Twig\Node\Nodes; class FormThemeTest extends TestCase { @@ -31,10 +32,17 @@ class FormThemeTest extends TestCase public function testConstructor() { $form = new NameExpression('form', 0); - $resources = new Node([ - new ConstantExpression('tpl1', 0), - new ConstantExpression('tpl2', 0), - ]); + if (class_exists(Nodes::class)) { + $resources = new Nodes([ + new ConstantExpression('tpl1', 0), + new ConstantExpression('tpl2', 0), + ]); + } else { + $resources = new Node([ + new ConstantExpression('tpl1', 0), + new ConstantExpression('tpl2', 0), + ]); + } $node = new FormThemeNode($form, $resources, 0); diff --git a/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php b/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php index c2fdb4e77854..2e09704cebb6 100644 --- a/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php @@ -23,15 +23,22 @@ use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\NameExpression; use Twig\Node\Node; +use Twig\Node\Nodes; use Twig\TwigFunction; class SearchAndRenderBlockNodeTest extends TestCase { public function testCompileWidget() { - $arguments = new Node([ - new NameExpression('form', 0), - ]); + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_widget'), $arguments, 0); @@ -52,13 +59,23 @@ public function testCompileWidget() public function testCompileWidgetWithVariables() { - $arguments = new Node([ - new NameExpression('form', 0), + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), new ArrayExpression([ new ConstantExpression('foo', 0), new ConstantExpression('bar', 0), - ], 0), - ]); + ], 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ArrayExpression([ + new ConstantExpression('foo', 0), + new ConstantExpression('bar', 0), + ], 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_widget'), $arguments, 0); @@ -79,10 +96,17 @@ public function testCompileWidgetWithVariables() public function testCompileLabelWithLabel() { - $arguments = new Node([ - new NameExpression('form', 0), - new ConstantExpression('my label', 0), - ]); + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + new ConstantExpression('my label', 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConstantExpression('my label', 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -103,10 +127,17 @@ public function testCompileLabelWithLabel() public function testCompileLabelWithNullLabel() { - $arguments = new Node([ - new NameExpression('form', 0), - new ConstantExpression(null, 0), - ]); + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + new ConstantExpression(null, 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConstantExpression(null, 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -129,10 +160,17 @@ public function testCompileLabelWithNullLabel() public function testCompileLabelWithEmptyStringLabel() { - $arguments = new Node([ - new NameExpression('form', 0), - new ConstantExpression('', 0), - ]); + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + new ConstantExpression('', 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConstantExpression('', 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -155,9 +193,15 @@ public function testCompileLabelWithEmptyStringLabel() public function testCompileLabelWithDefaultLabel() { - $arguments = new Node([ - new NameExpression('form', 0), - ]); + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -178,14 +222,25 @@ public function testCompileLabelWithDefaultLabel() public function testCompileLabelWithAttributes() { - $arguments = new Node([ - new NameExpression('form', 0), - new ConstantExpression(null, 0), + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + new ConstantExpression(null, 0), new ArrayExpression([ new ConstantExpression('foo', 0), new ConstantExpression('bar', 0), - ], 0), - ]); + ], 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConstantExpression(null, 0), + new ArrayExpression([ + new ConstantExpression('foo', 0), + new ConstantExpression('bar', 0), + ], 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -209,16 +264,29 @@ public function testCompileLabelWithAttributes() public function testCompileLabelWithLabelAndAttributes() { - $arguments = new Node([ - new NameExpression('form', 0), - new ConstantExpression('value in argument', 0), + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), + new ConstantExpression('value in argument', 0), new ArrayExpression([ new ConstantExpression('foo', 0), new ConstantExpression('bar', 0), new ConstantExpression('label', 0), new ConstantExpression('value in attributes', 0), - ], 0), - ]); + ], 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConstantExpression('value in argument', 0), + new ArrayExpression([ + new ConstantExpression('foo', 0), + new ConstantExpression('bar', 0), + new ConstantExpression('label', 0), + new ConstantExpression('value in attributes', 0), + ], 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -239,8 +307,9 @@ public function testCompileLabelWithLabelAndAttributes() public function testCompileLabelWithLabelThatEvaluatesToNull() { - $arguments = new Node([ - new NameExpression('form', 0), + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), new ConditionalExpression( // if new ConstantExpression(true, 0), @@ -249,8 +318,22 @@ public function testCompileLabelWithLabelThatEvaluatesToNull() // else new ConstantExpression(null, 0), 0 - ), - ]); + ), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConditionalExpression( + // if + new ConstantExpression(true, 0), + // then + new ConstantExpression(null, 0), + // else + new ConstantExpression(null, 0), + 0 + ), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); @@ -275,8 +358,9 @@ public function testCompileLabelWithLabelThatEvaluatesToNull() public function testCompileLabelWithLabelThatEvaluatesToNullAndAttributes() { - $arguments = new Node([ - new NameExpression('form', 0), + if (class_exists(Nodes::class)) { + $arguments = new Nodes([ + new NameExpression('form', 0), new ConditionalExpression( // if new ConstantExpression(true, 0), @@ -291,8 +375,25 @@ public function testCompileLabelWithLabelThatEvaluatesToNullAndAttributes() new ConstantExpression('bar', 0), new ConstantExpression('label', 0), new ConstantExpression('value in attributes', 0), - ], 0), - ]); + ], 0), + ]); + } else { + $arguments = new Node([ + new NameExpression('form', 0), + new ConditionalExpression( + new ConstantExpression(true, 0), + new ConstantExpression(null, 0), + new ConstantExpression(null, 0), + 0 + ), + new ArrayExpression([ + new ConstantExpression('foo', 0), + new ConstantExpression('bar', 0), + new ConstantExpression('label', 0), + new ConstantExpression('value in attributes', 0), + ], 0), + ]); + } if (class_exists(FirstClassTwigCallableReady::class)) { $node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0); diff --git a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TranslationNodeVisitorTest.php b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TranslationNodeVisitorTest.php index be26c9b425ef..96134b6ee8c3 100644 --- a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TranslationNodeVisitorTest.php +++ b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TranslationNodeVisitorTest.php @@ -21,8 +21,8 @@ use Twig\Node\Expression\FilterExpression; use Twig\Node\Expression\NameExpression; use Twig\Node\Node; +use Twig\Node\Nodes; use Twig\TwigFilter; -use Twig\TwigFunction; class TranslationNodeVisitorTest extends TestCase { @@ -41,24 +41,30 @@ public function testMessageExtractionWithInvalidDomainNode() { $message = 'new key'; + if (class_exists(Nodes::class)) { + $n = new Nodes([ + new ArrayExpression([], 0), + new NameExpression('variable', 0), + ]); + } else { + $n = new Node([ + new ArrayExpression([], 0), + new NameExpression('variable', 0), + ]); + } + if (class_exists(FirstClassTwigCallableReady::class)) { $node = new FilterExpression( new ConstantExpression($message, 0), new TwigFilter('trans'), - new Node([ - new ArrayExpression([], 0), - new NameExpression('variable', 0), - ]), + $n, 0 ); } else { $node = new FilterExpression( new ConstantExpression($message, 0), new ConstantExpression('trans', 0), - new Node([ - new ArrayExpression([], 0), - new NameExpression('variable', 0), - ]), + $n, 0 ); } diff --git a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php index 7a79c3413001..69cf6beca0c4 100644 --- a/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php +++ b/src/Symfony/Bridge/Twig/Tests/NodeVisitor/TwigNodeProvider.php @@ -20,6 +20,7 @@ use Twig\Node\Expression\FilterExpression; use Twig\Node\ModuleNode; use Twig\Node\Node; +use Twig\Node\Nodes; use Twig\Source; use Twig\TwigFilter; @@ -47,11 +48,17 @@ public static function getTransFilter($message, $domain = null, $arguments = nul ] : []; } + if (class_exists(Nodes::class)) { + $args = new Nodes($arguments); + } else { + $args = new Node($arguments); + } + if (!class_exists(FirstClassTwigCallableReady::class)) { return new FilterExpression( new ConstantExpression($message, 0), new ConstantExpression('trans', 0), - new Node($arguments), + $args, 0 ); } @@ -59,7 +66,7 @@ public static function getTransFilter($message, $domain = null, $arguments = nul return new FilterExpression( new ConstantExpression($message, 0), new TwigFilter('trans'), - new Node($arguments), + $args, 0 ); } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy