public function CustomPageExceptionHtmlSubscriberTest::testHandleWithPostRequest in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/EventSubscriber/CustomPageExceptionHtmlSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\CustomPageExceptionHtmlSubscriberTest::testHandleWithPostRequest()
Tests onHandleException with a POST request.
File
- core/
tests/ Drupal/ Tests/ Core/ EventSubscriber/ CustomPageExceptionHtmlSubscriberTest.php, line 129
Class
- CustomPageExceptionHtmlSubscriberTest
- @coversDefaultClass \Drupal\Core\EventSubscriber\CustomPageExceptionHtmlSubscriber @group EventSubscriber
Namespace
Drupal\Tests\Core\EventSubscriberCode
public function testHandleWithPostRequest() {
$request = Request::create('/test', 'POST', [
'name' => 'druplicon',
'pass' => '12345',
]);
$request_context = new RequestContext();
$request_context
->fromRequest($request);
$this->accessUnawareRouter
->expects($this
->any())
->method('getContext')
->willReturn($request_context);
$this->kernel
->expects($this
->once())
->method('handle')
->willReturnCallback(function (Request $request) {
return new HtmlResponse($request
->getMethod());
});
$event = new ExceptionEvent($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, new NotFoundHttpException('foo'));
$this->customPageSubscriber
->onException($event);
$response = $event
->getResponse();
$result = $response
->getContent() . " " . UrlHelper::buildQuery($request->request
->all());
$this
->assertEquals('POST name=druplicon&pass=12345', $result);
$this
->assertEquals(AccessResult::allowed()
->addCacheTags([
'foo',
'bar',
]), $request->attributes
->get(AccessAwareRouterInterface::ACCESS_RESULT));
}