11
11
12
12
namespace Symfony \Bundle \FrameworkBundle \Tests \Controller ;
13
13
14
+ use phpDocumentor \Reflection \DocBlock \Tags \Param ;
14
15
use Symfony \Component \HttpFoundation \Response ;
15
16
use Symfony \Component \HttpFoundation \ParameterBag ;
16
17
use Symfony \Component \HttpFoundation \Request ;
@@ -78,7 +79,6 @@ public function testRoute($permanent, $keepRequestMethod, $ignoreAttributes, $ex
78
79
$ controller = new RedirectController ($ router );
79
80
80
81
$ returnResponse = $ controller ->redirectAction ($ request , $ route , $ permanent , $ ignoreAttributes , $ keepRequestMethod );
81
-
82
82
$ this ->assertRedirectUrl ($ returnResponse , $ url );
83
83
$ this ->assertEquals ($ expectedCode , $ returnResponse ->getStatusCode ());
84
84
}
@@ -218,8 +218,8 @@ public function pathQueryParamsProvider()
218
218
}
219
219
220
220
/**
221
- * @dataProvider pathQueryParamsProvider
222
- */
221
+ * @dataProvider pathQueryParamsProvider
222
+ */
223
223
public function testPathQueryParams ($ expectedUrl , $ path , $ queryString )
224
224
{
225
225
$ scheme = 'http ' ;
@@ -235,6 +235,25 @@ public function testPathQueryParams($expectedUrl, $path, $queryString)
235
235
$ this ->assertRedirectUrl ($ returnValue , $ expectedUrl );
236
236
}
237
237
238
+ public function testRedirectWithQuery ()
239
+ {
240
+ $ scheme = 'http ' ;
241
+ $ host = 'www.example.com ' ;
242
+ $ baseUrl = '/base ' ;
243
+ $ port = 80 ;
244
+
245
+ $ request = $ this ->createRequestObject ($ scheme , $ host , $ port , $ baseUrl , 'base=zaza ' );
246
+ $ request ->query = new ParameterBag (['base ' => 'zaza ' ]);
247
+ $ request ->attributes = new ParameterBag (['_route_params ' => []]);
248
+ $ urlGenerator = $ this ->getMockBuilder (UrlGeneratorInterface::class)->getMock ();
249
+ $ urlGenerator ->expects ($ this ->any ())->method ('generate ' )->will ($ this ->returnValue ('/test?base=zaza ' ));
250
+
251
+ $ controller = new RedirectController ($ urlGenerator );
252
+
253
+ $ returnValue = $ controller ->redirectAction ($ request , '/test ' , false , false , false , true );
254
+ $ this ->assertRedirectUrl ($ returnValue , '/test?base=zaza ' );
255
+ }
256
+
238
257
private function createRequestObject ($ scheme , $ host , $ port , $ baseUrl , $ queryString = '' )
239
258
{
240
259
$ request = $ this ->getMockBuilder ('Symfony\Component\HttpFoundation\Request ' )->getMock ();
0 commit comments