public function testOnExceptionWithUnknownFormat() { $config_factory =
$this->
getConfigFactoryStub();
$kernel =
$this->
prophesize(HttpKernelInterface::
class);
$request = Request::
create('/test'
);
// \Drupal\Core\StackMiddleware\NegotiationMiddleware normally takes care
// of this so we'll hard code it here.
$request->
setRequestFormat('bananas'
);
$e =
new MethodNotAllowedHttpException(['POST', 'PUT'
], 'test message'
);
$event =
new ExceptionEvent($kernel->
reveal(),
$request, HttpKernelInterface::MAIN_REQUEST,
$e);
$subscriber =
new TestDefaultExceptionSubscriber($config_factory);
$subscriber->
setStringTranslation($this->
getStringTranslationStub());
$subscriber->
onException($event);
$response =
$event->
getResponse();
$this->
assertInstanceOf(Response::
class,
$response);
$this->
assertStringStartsWith('The website encountered an unexpected error. Please try again later.<br><br><em class="placeholder">Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException</em>: test message in ',
$response->
getContent());
$this->
assertEquals(405,
$response->
getStatusCode());
$this->
assertEquals('POST, PUT',
$response->headers->
get('Allow'
));
// Also check that the text/plain content type was added.
$this->
assertEquals('text/plain',
$response->headers->
get('Content-Type'
));
}}