2323use Twig \Node \Expression \ConstantExpression ;
2424use Twig \Node \Expression \NameExpression ;
2525use Twig \Node \Node ;
26+ use Twig \Node \Nodes ;
2627use Twig \TwigFunction ;
2728
2829class 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