8000 [TwigBridge] Remove usage of Node() instantiations · symfony/symfony@29d16b0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 29d16b0

Browse files
committed
[TwigBridge] Remove usage of Node() instantiations
1 parent 5b5f22b commit 29d16b0

File tree

6 files changed

+206
-63
lines changed

6 files changed

+206
-63
lines changed

src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
use Twig\Node\Expression\NameExpression;
2323
use Twig\Node\ModuleNode;
2424
use Twig\Node\Node;
25+
use Twig\Node\Nodes;
2526
use Twig\Node\SetNode;
2627
use Twig\NodeVisitor\NodeVisitorInterface;
2728

@@ -53,7 +54,11 @@ public function enterNode(Node $node, Environment $env): Node
5354
$name = new AssignNameExpression($var, $node->getTemplateLine());
5455
$this->scope->set('domain', new NameExpression($var, $node->getTemplateLine()));
5556

56-
return new SetNode(false, new Node([$name]), new Node([$node->getNode('expr')]), $node->getTemplateLine());
57+
if (class_exists(Nodes::class)) {
58+
return new SetNode(false, new Nodes([$name]), new Nodes([$node->getNode('expr')]), $node->getTemplateLine());
59+
} else {
60+
return new SetNode(false, new Node([$name]), new Node([$node->getNode('expr')]), $node->getTemplateLine());
61+
}
5762
}
5863
}
5964

src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Twig\Loader\LoaderInterface;
1919
use Twig\Node\Expression\NameExpression;
2020
use Twig\Node\Node;
21+
use Twig\Node\Nodes;
2122

2223
class DumpNodeTest extends TestCase
2324
{
@@ -71,9 +72,16 @@ public function testIndented()
7172

7273
public function testOneVar()
7374
{
74-
$vars = new Node([
75-
new NameExpression('foo', 7),
76-
]);
75+
if (class_exists(Nodes::class)) {
76+
$vars = new Nodes([
77+
new NameExpression('foo', 7),
78+
]);
79+
} else {
80+
$vars = new Node([
81+
new NameExpression('foo', 7),
82+
]);
83+
}
84+
7785
$node = new DumpNode('bar', $vars, 7);
7886

7987
$env = new Environment($this->createMock(LoaderInterface::class));
@@ -94,10 +102,18 @@ public function testOneVar()
94102

95103
public function testMultiVars()
96104
{
97-
$vars = new Node([
98-
new NameExpression('foo', 7),
99-
new NameExpression('bar', 7),
100-
]);
105+
if (class_exists(Nodes::class)) {
106+
$vars = new Nodes([
107+
new NameExpression('foo', 7),
108+
new NameExpression('bar', 7),
109+
]);
110+
} else {
111+
$vars = new Node([
112+
new NameExpression('foo', 7),
113+
new NameExpression('bar', 7),
114+
]);
115+
}
116+
101117
$node = new DumpNode('bar', $vars, 7);
102118

103119
$env = new Environment($this->createMock(LoaderInterface::class));

src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use Twig\Node\Expression\ConstantExpression;
2424
use Twig\Node\Expression\NameExpression;
2525
use Twig\Node\Node;
26+
use Twig\Node\Nodes;
2627

2728
class FormThemeTest extends TestCase
2829
{
@@ -31,10 +32,17 @@ class FormThemeTest extends TestCase
3132
public function testConstructor()
3233
{
3334
$form = new NameExpression('form', 0);
34-
$resources = new Node([
35-
new ConstantExpression('tpl1', 0),
36-
new ConstantExpression('tpl2', 0),
37-
]);
35+
if (class_exists(Nodes::class)) {
36+
$resources = new Nodes([
37+
new ConstantExpression('tpl1', 0),
38+
new ConstantExpression('tpl2', 0),
39+
]);
40+
} else {
41+
$resources = new Node([
42+
new ConstantExpression('tpl1', 0),
43+
new ConstantExpression('tpl2', 0),
44+
]);
45+
}
3846

3947
$node = new FormThemeNode($form, $resources, 0);
4048

src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php

Lines changed: 141 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,22 @@
2323
use Twig\Node\Expression\ConstantExpression;
2424
use Twig\Node\Expression\NameExpression;
2525
use Twig\Node\Node;
26+
use Twig\Node\Nodes;
2627
use Twig\TwigFunction;
2728

2829
class SearchAndRenderBlockNodeTest extends TestCase
2930
{
3031
public function testCompileWidget()
3132
{
32-
$arguments = new Node([
33-
new NameExpression('form', 0),
34-
]);
33+
if (class_exists(Nodes::class)) {
34+
$arguments = new Nodes([
35+
new NameExpression('form', 0),
36+
]);
37+
} else {
38+
$arguments = new Node([
39+
new NameExpression('form', 0),
40+
]);
41+
}
3542

3643
if (class_exists(FirstClassTwigCallableReady::class)) {
3744
$node = new SearchAndRenderBlockNode(new TwigFunction('form_widget'), $arguments, 0);
@@ -52,13 +59,23 @@ public function testCompileWidget()
5259

5360
public function testCompileWidgetWithVariables()
5461
{
55-
$arguments = new Node([
56-
new NameExpression('form', 0),
62+
if (class_exists(Nodes::class)) {
63+
$arguments = new Nodes([
64+
new NameExpression('form', 0),
5765
new ArrayExpression([
5866
new ConstantExpression('foo', 0),
5967
new ConstantExpression('bar', 0),
60-
], 0),
61-
]);
68+
], 0),
69+
]);
70+
} else {
71+
$arguments = new Node([
72+
new NameExpression('form', 0),
73+
new ArrayExpression([
74+
new ConstantExpression('foo', 0),
75+
new ConstantExpression('bar', 0),
76+
], 0),
77+
]);
78+
}
6279

6380
if (class_exists(FirstClassTwigCallableReady::class)) {
6481
$node = new SearchAndRenderBlockNode(new TwigFunction('form_widget'), $arguments, 0);
@@ -79,10 +96,17 @@ public function testCompileWidgetWithVariables()
7996

8097
public function testCompileLabelWithLabel()
8198
{
82-
$arguments = new Node([
83-
new NameExpression('form', 0),
84-
new ConstantExpression('my label', 0),
85-
]);
99+
if (class_exists(Nodes::class)) {
100+
$arguments = new Nodes([
101+
new NameExpression('form', 0),
102+
new ConstantExpression('my label', 0),
103+
]);
104+
} else {
105+
$arguments = new Node([
106+
new NameExpression('form', 0),
107+
new ConstantExpression('my label', 0),
108+
]);
109+
}
86110

87111
if (class_exists(FirstClassTwigCallableReady::class)) {
88112
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -103,10 +127,17 @@ public function testCompileLabelWithLabel()
103127

104128
public function testCompileLabelWithNullLabel()
105129
{
106-
$arguments = new Node([
107-
new NameExpression('form', 0),
108-
new ConstantExpression(null, 0),
109-
]);
130+
if (class_exists(Nodes::class)) {
131+
$arguments = new Nodes([
132+
new NameExpression('form', 0),
133+
new ConstantExpression(null, 0),
134+
]);
135+
} else {
136+
$arguments = new Node([
137+
new NameExpression('form', 0),
138+
new ConstantExpression(null, 0),
139+
]);
140+
}
110141

111142
if (class_exists(FirstClassTwigCallableReady::class)) {
112143
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -129,10 +160,17 @@ public function testCompileLabelWithNullLabel()
129160

130161
public function testCompileLabelWithEmptyStringLabel()
131162
{
132-
$arguments = new Node([
133-
new NameExpression('form', 0),
134-
new ConstantExpression('', 0),
135-
]);
163+
if (class_exists(Nodes::class)) {
164+
$arguments = new Nodes([
165+
new NameExpression('form', 0),
166+
new ConstantExpression('', 0),
167+
]);
168+
} else {
169+
$arguments = new Node([
170+
new NameExpression('form', 0),
171+
new ConstantExpression('', 0),
172+
]);
173+
}
136174

137175
if (class_exists(FirstClassTwigCallableReady::class)) {
138176
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -155,9 +193,15 @@ public function testCompileLabelWithEmptyStringLabel()
155193

156194
public function testCompileLabelWithDefaultLabel()
157195
{
158-
$arguments = new Node([
159-
new NameExpression('form', 0),
160-
]);
196+
if (class_exists(Nodes::class)) {
197+
$arguments = new Nodes([
198+
new NameExpression('form', 0),
199+
]);
200+
} else {
201+
$arguments = new Node([
202+
new NameExpression('form', 0),
203+
]);
204+
}
161205

162206
if (class_exists(FirstClassTwigCallableReady::class)) {
163207
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -178,14 +222,25 @@ public function testCompileLabelWithDefaultLabel()
178222

179223
public function testCompileLabelWithAttributes()
180224
{
181-
$arguments = new Node([
182-
new NameExpression('form', 0),
183-
new ConstantExpression(null, 0),
225+
if (class_exists(Nodes::class)) {
226+
$arguments = new Nodes([
227+
new NameExpression('form', 0),
228+
new ConstantExpression(null, 0),
184229
new ArrayExpression([
185230
new ConstantExpression('foo', 0),
186231
new ConstantExpression('bar', 0),
187-
], 0),
188-
]);
232+
], 0),
233+
]);
234+
} else {
235+
$arguments = new Node([
236+
new NameExpression('form', 0),
237+
new ConstantExpression(null, 0),
238+
new ArrayExpression([
239+
new ConstantExpression('foo', 0),
240+
new ConstantExpression('bar', 0),
241+
], 0),
242+
]);
243+
}
189244

190245
if (class_exists(FirstClassTwigCallableReady::class)) {
191246
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -209,16 +264,29 @@ public function testCompileLabelWithAttributes()
209264

210265
public function testCompileLabelWithLabelAndAttributes()
211266
{
212-
$arguments = new Node([
213-
new NameExpression('form', 0),
214-
new ConstantExpression('value in argument', 0),
267+
if (class_exists(Nodes::class)) {
268+
$arguments = new Nodes([
269+
new NameExpression('form', 0),
270+
new ConstantExpression('value in argument', 0),
215271
new ArrayExpression([
216272
new ConstantExpression('foo', 0),
217273
new ConstantExpression('bar', 0),
218274
new ConstantExpression('label', 0),
219275
new ConstantExpression('value in attributes', 0),
220-
], 0),
221-
]);
276+
], 0),
277+
]);
278+
} else {
279+
$arguments = new Node([
280+
new NameExpression('form', 0),
281+
new ConstantExpression('value in argument', 0),
282+
new ArrayExpression([
283+
new ConstantExpression('foo', 0),
284+
new ConstantExpression('bar', 0),
285+
new ConstantExpression('label', 0),
286+
new ConstantExpression('value in attributes', 0),
287+
], 0),
288+
]);
289+
}
222290

223291
if (class_exists(FirstClassTwigCallableReady::class)) {
224292
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -239,8 +307,9 @@ public function testCompileLabelWithLabelAndAttributes()
239307

240308
public function testCompileLabelWithLabelThatEvaluatesToNull()
241309
{
242-
$arguments = new Node([
243-
new NameExpression('form', 0),
310+
if (class_exists(Nodes::class)) {
311+
$arguments = new Nodes([
312+
new NameExpression('form', 0),
244313
new ConditionalExpression(
245314
// if
246315
new ConstantExpression(true, 0),
@@ -249,8 +318,22 @@ public function testCompileLabelWithLabelThatEvaluatesToNull()
249318
// else
250319
new ConstantExpression(null, 0),
251320
0
252-
),
253-
]);
321+
),
322+
]);
323+
} else {
324+
$arguments = new Node([
325+
new NameExpression('form', 0),
326+
new ConditionalExpression(
327+
// if
328+
new ConstantExpression(true, 0),
329+
// then
330+
new ConstantExpression(null, 0),
331+
// else
332+
new ConstantExpression(null, 0),
333+
0
334+
),
335+
]);
336+
}
254337

255338
if (class_exists(FirstClassTwigCallableReady::class)) {
256339
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);
@@ -275,8 +358,9 @@ public function testCompileLabelWithLabelThatEvaluatesToNull()
275358

276359
public function testCompileLabelWithLabelThatEvaluatesToNullAndAttributes()
277360
{
278-
$arguments = new Node([
279-
new NameExpression('form', 0),
361+
if (class_exists(Nodes::class)) {
362+
$arguments = new Nodes([
363+< F438 div class="diff-text-inner"> new NameExpression('form', 0),
280364
new ConditionalExpression(
281365
// if
282366
new ConstantExpression(true, 0),
@@ -291,8 +375,25 @@ public function testCompileLabelWithLabelThatEvaluatesToNullAndAttributes()
291375
new ConstantExpression('bar', 0),
292376
new ConstantExpression('label', 0),
293377
new ConstantExpression('value in attributes', 0),
294-
], 0),
295-
]);
378+
], 0),
379+
]);
380+
} else {
381+
$arguments = new Node([
382+
new NameExpression('form', 0),
383+
new ConditionalExpression(
384+
new ConstantExpression(true, 0),
385+
new ConstantExpression(null, 0),
386+
new ConstantExpression(null, 0),
387+
0
388+
),
389+
new ArrayExpression([
390+
new ConstantExpression('foo', 0),
391+
new ConstantExpression('bar', 0),
392+
new ConstantExpression('label', 0),
393+
new ConstantExpression('value in attributes', 0),
394+
], 0),
395+
]);
396+
}
296397

297398
if (class_exists(FirstClassTwigCallableReady::class)) {
298399
$node = new SearchAndRenderBlockNode(new TwigFunction('form_label'), $arguments, 0);

0 commit comments

Comments
 (0)
0