SecuredRedirectResponseTest.php in Drupal 9
File
core/tests/Drupal/Tests/Component/HttpFoundation/SecuredRedirectResponseTest.php
View source
<?php
namespace Drupal\Tests\Component\HttpFoundation;
use Drupal\Component\HttpFoundation\SecuredRedirectResponse;
use PHPUnit\Framework\TestCase;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\RedirectResponse;
class SecuredRedirectResponseTest extends TestCase {
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));
$secureRedirect = SecuredRedirectStub::createFromRedirectResponse($redirect);
$this
->assertEquals('/magic_redirect_url', $secureRedirect
->getTargetUrl());
$this
->assertEquals(301, $secureRedirect
->getStatusCode());
$headers1 = $redirect->headers
->allPreserveCase();
$headers2 = $secureRedirect->headers
->allPreserveCase();
unset($headers1['Cache-Control'], $headers2['Cache-Control']);
$this
->assertEquals($headers1, $headers2);
$this
->assertEquals('2.0', $secureRedirect
->getProtocolVersion());
$this
->assertEquals('ibm-943_P14A-2000', $secureRedirect
->getCharset());
$this
->assertEquals($redirect->headers
->getCookies(), $secureRedirect->headers
->getCookies());
}
}
class SecuredRedirectStub extends SecuredRedirectResponse {
protected function isSafe($url) {
return TRUE;
}
}