Deprecate using Node directly, introduce EmptyNode and Nodes

This commit is contained in:
Fabien Potencier
2024-09-24 17:36:20 +02:00
parent a1daf1e551
commit 8b278986b8
37 changed files with 230 additions and 130 deletions
+13 -12
View File
@@ -14,12 +14,13 @@ namespace Twig\Tests\Node;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
use Twig\Node\BodyNode;
use Twig\Node\EmptyNode;
use Twig\Node\Expression\AssignNameExpression;
use Twig\Node\Expression\ConditionalExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\ImportNode;
use Twig\Node\ModuleNode;
use Twig\Node\Node;
use Twig\Node\Nodes;
use Twig\Node\SetNode;
use Twig\Node\TextNode;
use Twig\Source;
@@ -31,11 +32,11 @@ class ModuleTest extends NodeTestCase
{
$body = new BodyNode([new TextNode('foo', 1)]);
$parent = new ConstantExpression('layout.twig', 1);
$blocks = new Node();
$macros = new Node();
$traits = new Node();
$blocks = new EmptyNode();
$macros = new EmptyNode();
$traits = new EmptyNode();
$source = new Source('{{ foo }}', 'foo.twig');
$node = new ModuleNode($body, $parent, $blocks, $macros, $traits, new Node([]), $source);
$node = new ModuleNode($body, $parent, $blocks, $macros, $traits, new EmptyNode(), $source);
$this->assertEquals($body, $node->getNode('body'));
$this->assertEquals($blocks, $node->getNode('blocks'));
@@ -52,12 +53,12 @@ class ModuleTest extends NodeTestCase
$body = new BodyNode([new TextNode('foo', 1)]);
$extends = null;
$blocks = new Node();
$macros = new Node();
$traits = new Node();
$blocks = new EmptyNode();
$macros = new EmptyNode();
$traits = new EmptyNode();
$source = new Source('{{ foo }}', 'foo.twig');
$node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new Node([]), $source);
$node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new EmptyNode(), $source);
$tests[] = [$node, <<<EOF
<?php
@@ -133,7 +134,7 @@ EOF
$body = new BodyNode([$import]);
$extends = new ConstantExpression('layout.twig', 1);
$node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new Node([]), $source);
$node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new EmptyNode(), $source);
$tests[] = [$node, <<<EOF
<?php
@@ -218,7 +219,7 @@ class __TwigTemplate_%x extends Template
EOF
, $twig, true];
$set = new SetNode(false, new Node([new AssignNameExpression('foo', 4)]), new Node([new ConstantExpression('foo', 4)]), 4);
$set = new SetNode(false, new Nodes([new AssignNameExpression('foo', 4)]), new Nodes([new ConstantExpression('foo', 4)]), 4);
$body = new BodyNode([$set]);
$extends = new ConditionalExpression(
new ConstantExpression(true, 2),
@@ -228,7 +229,7 @@ EOF
);
$twig = new Environment(new ArrayLoader(['foo.twig' => '{{ foo }}']), ['debug' => true]);
$node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new Node([]), $source);
$node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new EmptyNode(), $source);
$tests[] = [$node, <<<EOF
<?php