Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 459590d

Browse filesBrowse files
committed
bug #58404 [TwigBridge] Remove usage of Node() instantiations (fabpot)
This PR was merged into the 5.4 branch. Discussion ---------- [TwigBridge] Remove usage of `Node()` instantiations | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no <!-- please update src/**/CHANGELOG.md files --> | Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files --> | Issues | n/a | License | MIT See twigphp/Twig#4335 (which should be merged first) Commits ------- 29d16b0 [TwigBridge] Remove usage of Node() instantiations
2 parents db53279 + 29d16b0 commit 459590d
Copy full SHA for 459590d

File tree

6 files changed

+206
-63
lines changed
Filter options

6 files changed

+206
-63
lines changed

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

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php
+6-1Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php
+23-7Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php
+12-4Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php
+141-40Lines 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+
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)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.