@@ -433,10 +433,10 @@ public function testHandleFormNotSubmitted()
433
433
$ response = $ controller ->handleForm (
434
434
$ form ,
435
435
Request::create ('https://example.com ' ),
436
- function (FormInterface $ form , $ data ): Response {
436
+ function (FormInterface $ form , $ data, Request $ request ): Response {
437
437
return new RedirectResponse ('https://example.com/redir ' , Response::HTTP_SEE_OTHER );
438
438
},
439
- function (FormInterface $ form , $ data ): Response {
439
+ function (FormInterface $ form , $ data, Request $ request ): Response {
440
440
return new Response ('rendered ' );
441
441
}
442
442
);
@@ -455,10 +455,10 @@ public function testHandleFormInvalid()
455
455
$ response = $ controller ->handleForm (
456
456
$ form ,
457
457
Request::create ('https://example.com ' ),
458
- function (FormInterface $ form ): Response {
458
+ function (FormInterface $ form, $ data , Request $ request ): Response {
459
459
return new RedirectResponse ('https://example.com/redir ' , Response::HTTP_SEE_OTHER );
460
460
},
461
- function (FormInterface $ form ): Response {
461
+ function (FormInterface $ form, $ data , Request $ request ): Response {
462
462
return new Response ('rendered ' );
463
463
}
464
464
);
@@ -477,10 +477,10 @@ public function testHandleFormValid()
477
477
$ response = $ controller ->handleForm (
478
478
$ form ,
479
479
Request::create ('https://example.com ' ),
480
- function (FormInterface $ form ): Response {
480
+ function (FormInterface $ form, $ data , Request $ request ): Response {
481
481
return new RedirectResponse ('https://example.com/redir ' , Response::HTTP_SEE_OTHER );
482
482
},
483
- function (FormInterface $ form ): Response {
483
+ function (FormInterface $ form, $ data , Request $ request ): Response {
484
484
return new Response ('rendered ' );
485
485
}
486
486
);
@@ -490,6 +490,25 @@ function (FormInterface $form): Response {
490
490
$ this ->assertSame ('https://example.com/redir ' , $ response ->getTargetUrl ());
491
491
}
492
492
493
+ public function testHandleFormTypeError ()
494
+ {
495
+ $ form = $ this ->createMock (FormInterface::class);
496
+ $ form ->expects ($ this ->once ())->method ('isSubmitted ' )->willReturn (true );
497
+ $ form ->expects ($ this ->once ())->method ('isValid ' )->willReturn (true );
498
+
499
+ $ controller = $ this ->createController ();
500
+
501
+ $ this ->expectException (\TypeError::class);
502
+ $ this ->expectExceptionMessage ('The "$onSuccess" callable passed to "Symfony\Bundle\FrameworkBundle\Tests\Controller\TestAbstractController::handleForm()" must return a Response, "string" returned. ' );
503
+
504
+ $ response = $ controller ->handleForm (
505
+ $ form ,
506
+ Request::create ('https://example.com ' ),
507
+ function () { return 'abc ' ; },
508
+ function () { return 'abc ' ; }
509
+ );
510
+ }
511
+
493
512
public function testRedirectToRoute ()
494
513
{
495
514
$ router = $ this ->createMock (RouterInterface::class);
0 commit comments