public function ActiveLinkResponseFilterTest::testSkipCertainResponseTypes in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/Core/EventSubscriber/ActiveLinkResponseFilterTest.php \Drupal\Tests\Core\EventSubscriber\ActiveLinkResponseFilterTest::testSkipCertainResponseTypes()
- 10 core/tests/Drupal/Tests/Core/EventSubscriber/ActiveLinkResponseFilterTest.php \Drupal\Tests\Core\EventSubscriber\ActiveLinkResponseFilterTest::testSkipCertainResponseTypes()
Tests certain response types ignored by the ActiveLinkResponseFilter.
@covers ::onResponse
File
- core/
tests/ Drupal/ Tests/ Core/ EventSubscriber/ ActiveLinkResponseFilterTest.php, line 457
Class
- ActiveLinkResponseFilterTest
- @coversDefaultClass \Drupal\Core\EventSubscriber\ActiveLinkResponseFilter @group EventSubscriber
Namespace
Drupal\Tests\Core\EventSubscriberCode
public function testSkipCertainResponseTypes() {
$session = new AnonymousUserSession();
$language_manager = new LanguageManager(new LanguageDefault([]));
$request_stack = new RequestStack();
$request_stack
->push(new Request());
$current_path_stack = new CurrentPathStack($request_stack);
// Ensure path matcher is not called. This also tests that the
// ActiveLinkResponseFilter ignores the response.
$path_matcher = $this
->prophesize(PathMatcherInterface::class);
$path_matcher
->isFrontPage()
->shouldNotBeCalled();
$subscriber = new ActiveLinkResponseFilter($session, $current_path_stack, $path_matcher
->reveal(), $language_manager);
// Test BinaryFileResponse is ignored. Calling setContent() would throw a
// logic exception.
$response = new BinaryFileResponse(__FILE__, 200, [
'Content-Type' => 'text/html',
]);
$subscriber
->onResponse(new FilterResponseEvent($this
->prophesize(KernelInterface::class)
->reveal(), $request_stack
->getCurrentRequest(), HttpKernelInterface::MASTER_REQUEST, $response));
// Test StreamedResponse is ignored. Calling setContent() would throw a
// logic exception.
$response = new StreamedResponse(function () {
echo 'Success!';
}, 200, [
'Content-Type' => 'text/html',
]);
$subscriber
->onResponse(new FilterResponseEvent($this
->prophesize(KernelInterface::class)
->reveal(), $request_stack
->getCurrentRequest(), HttpKernelInterface::MASTER_REQUEST, $response));
}