class SecuredRedirectResponseTest extends TestCase
{ /**
* Tests copying of redirect response.
*
* @covers ::createFromRedirectResponse
* @covers ::fromResponse
*/
public function testRedirectCopy() { $redirect =
new RedirectResponse('/magic_redirect_url', 301,
['x-cache-foobar' => 123
]);
$redirect->
setProtocolVersion('2.0'
);
$redirect->
setCharset('ibm-943_P14A-2000'
);
$redirect->headers->
setCookie(new Cookie('name', 'value', 0, '/', NULL, FALSE, TRUE, FALSE, NULL
));
// Make a cloned redirect.
$secureRedirect = SecuredRedirectStub::
createFromRedirectResponse($redirect);
$this->
assertEquals('/magic_redirect_url',
$secureRedirect->
getTargetUrl());
$this->
assertEquals(301,
$secureRedirect->
getStatusCode());
// We pull the headers from the original redirect because there are default headers applied.
$headers1 =
$redirect->headers->
allPreserveCase();
$headers2 =
$secureRedirect->headers->
allPreserveCase();
// We unset cache headers so we don't test arcane Symfony weirdness.