function ExceptionHandlingTest::testJson404

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php \Drupal\KernelTests\Core\Routing\ExceptionHandlingTest::testJson404()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php \Drupal\KernelTests\Core\Routing\ExceptionHandlingTest::testJson404()
  3. 10 core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php \Drupal\KernelTests\Core\Routing\ExceptionHandlingTest::testJson404()

Tests the exception handling for json and 404 status code.

File

core/tests/Drupal/KernelTests/Core/Routing/ExceptionHandlingTest.php, line 81

Class

ExceptionHandlingTest
Tests the exception handling for various cases.

Namespace

Drupal\KernelTests\Core\Routing

Code

public function testJson404() : void {
    $request = Request::create('/not-found');
    $request->query
        ->set('_format', 'json');
    $request->setRequestFormat('json');
    
    /** @var \Symfony\Component\HttpKernel\HttpKernelInterface $kernel */
    $kernel = \Drupal::getContainer()->get('http_kernel');
    $response = $kernel->handle($request);
    $this->assertEquals(Response::HTTP_NOT_FOUND, $response->getStatusCode());
    $this->assertEquals('application/json', $response->headers
        ->get('Content-type'));
    $this->assertEquals('{"message":"No route found for \\u0022GET http:\\/\\/localhost\\/not-found\\u0022"}', $response->getContent());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.