public function RedirectResponseSubscriberTest::testRedirectWithOptInExternalUrl in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/EventSubscriber/RedirectResponseSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\RedirectResponseSubscriberTest::testRedirectWithOptInExternalUrl()
- 9 core/tests/Drupal/Tests/Core/EventSubscriber/RedirectResponseSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\RedirectResponseSubscriberTest::testRedirectWithOptInExternalUrl()
@covers ::checkRedirectUrl
File
- core/
tests/ Drupal/ Tests/ Core/ EventSubscriber/ RedirectResponseSubscriberTest.php, line 133
Class
- RedirectResponseSubscriberTest
- @coversDefaultClass \Drupal\Core\EventSubscriber\RedirectResponseSubscriber @group EventSubscriber
Namespace
Drupal\Tests\Core\EventSubscriberCode
public function testRedirectWithOptInExternalUrl() {
$dispatcher = new EventDispatcher(\Drupal::getContainer());
$kernel = $this
->createMock('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
$response = new TrustedRedirectResponse('http://external-url.com');
$request = Request::create('');
$request->headers
->set('HOST', 'example.com');
$listener = new RedirectResponseSubscriber($this->urlAssembler, $this->requestContext);
$dispatcher
->addListener(KernelEvents::RESPONSE, [
$listener,
'checkRedirectUrl',
]);
$event = new ResponseEvent($kernel, $request, HttpKernelInterface::SUB_REQUEST, $response);
$dispatcher
->dispatch($event, KernelEvents::RESPONSE);
$target_url = $event
->getResponse()
->getTargetUrl();
$this
->assertEquals('http://external-url.com', $target_url);
}