1818use Symfony \Component \DependencyInjection \ParameterBag \FrozenParameterBag ;
1919use Symfony \Component \Form \Form ;
2020use Symfony \Component \Form \FormConfigInterface ;
21+ use Symfony \Component \Form \FormInterface ;
22+ use Symfony \Component \Form \FormView ;
2123use Symfony \Component \HttpFoundation \BinaryFileResponse ;
2224use Symfony \Component \HttpFoundation \File \File ;
2325use Symfony \Component \HttpFoundation \JsonResponse ;
3133use Symfony \Component \Security \Core \User \User ;
3234use Symfony \Component \Serializer \SerializerInterface ;
3335use Symfony \Component \WebLink \Link ;
36+ use Twig \Environment ;
3437
3538class AbstractControllerTest extends TestCase
3639{
@@ -371,7 +374,7 @@ public function testdenyAccessUnlessGranted()
371374
372375 public function testRenderViewTwig ()
373376 {
374- $ twig = $ this ->getMockBuilder (\ Twig \ Environment::class)->disableOriginalConstructor ()->getMock ();
377+ $ twig = $ this ->getMockBuilder (Environment::class)->disableOriginalConstructor ()->getMock ();
375378 $ twig ->expects ($ this ->once ())->method ('render ' )->willReturn ('bar ' );
376379
377380 $ container = new Container ();
@@ -385,7 +388,7 @@ public function testRenderViewTwig()
385388
386389 public function testRenderTwig ()
387390 {
388- $ twig = $ this ->getMockBuilder (\ Twig \ Environment::class)->disableOriginalConstructor ()->getMock ();
391+ $ twig = $ this ->getMockBuilder (Environment::class)->disableOriginalConstructor ()->getMock ();
389392 $ twig ->expects ($ this ->once ())->method ('render ' )->willReturn ('bar ' );
390393
391394 $ container = new Container ();
@@ -399,7 +402,7 @@ public function testRenderTwig()
399402
400403 public function testStreamTwig ()
401404 {
402- $ twig = $ this ->getMockBuilder (\ Twig \ Environment::class)->disableOriginalConstructor ()->getMock ();
405+ $ twig = $ this ->getMockBuilder (Environment::class)->disableOriginalConstructor ()->getMock ();
403406
404407 $ container = new Container ();
405408 $ container ->set ('twig ' , $ twig );
@@ -410,6 +413,52 @@ public function testStreamTwig()
410413 $ this ->assertInstanceOf (\Symfony \Component \HttpFoundation \StreamedResponse::class, $ controller ->stream ('foo ' ));
411414 }
412415
416+ public function testRenderFormTwig ()
417+ {
418+ $ formView = new FormView ();
419+
420+ $ form = $ this ->getMockBuilder (FormInterface::class)->getMock ();
421+ $ form ->expects ($ this ->once ())->method ('createView ' )->willReturn ($ formView );
422+
423+ $ twig = $ this ->getMockBuilder (Environment::class)->disableOriginalConstructor ()->getMock ();
424+ $ twig ->expects ($ this ->once ())->method ('render ' )->with ('foo ' , ['form ' => $ formView , 'bar ' => 'bar ' ])->willReturn ('bar ' );
425+
426+ $ container = new Container ();
427+ $ container ->set ('twig ' , $ twig );
428+
429+ $ controller = $ this ->createController ();
430+ $ controller ->setContainer ($ container );
431+
432+ $ response = $ controller ->renderForm ('foo ' , $ form , ['bar ' => 'bar ' ]);
433+
434+ $ this ->assertTrue ($ response ->isSuccessful ());
435+ $ this ->assertSame ('bar ' , $ response ->getContent ());
436+ }
437+
438+ public function testRenderInvalidFormTwig ()
439+ {
440+ $ formView = new FormView ();
441+
442+ $ form = $ this ->getMockBuilder (FormInterface::class)->getMock ();
443+ $ form ->expects ($ this ->once ())->method ('createView ' )->willReturn ($ formView );
444+ $ form ->expects ($ this ->once ())->method ('isSubmitted ' )->willReturn (true );
445+ $ form ->expects ($ this ->once ())->method ('isValid ' )->willReturn (false );
446+
447+ $ twig = $ this ->getMockBuilder (Environment::class)->disableOriginalConstructor ()->getMock ();
448+ $ twig ->expects ($ this ->once ())->method ('render ' )->with ('foo ' , ['form ' => $ formView , 'bar ' => 'bar ' ])->willReturn ('bar ' );
449+
450+ $ container = new Container ();
451+ $ container ->set ('twig ' , $ twig );
452+
<
55C6
td data-grid-cell-id="diff-615548c6be4ba63868352187674940536cb43a5427538ae722206908ca257508-412-453-1" data-selected="false" role="gridcell" style="background-color:var(--diffBlob-additionNum-bgColor, var(--diffBlob-addition-bgColor-num));text-align:center" tabindex="-1" valign="top" class="focusable-grid-cell diff-line-number position-relative left-side">453+ $ controller = $ this ->createController ();
454+ $ controller ->setContainer ($ container );
455+
456+ $ response = $ controller ->renderForm ('foo ' , $ form , ['bar ' => 'bar ' ]);
457+
458+ $ this ->assertSame (Response::HTTP_UNPROCESSABLE_ENTITY , $ response ->getStatusCode ());
459+ $ this ->assertSame ('bar ' , $ response ->getContent ());
460+ }
461+
413462 public function testRedirectToRoute ()
414463 {
415464 $ router = $ this ->getMockBuilder (\Symfony \Component \Routing \RouterInterface::class)->getMock ();
0 commit comments