public function PageManagerRoutingTest::testRouteFilter in Page Manager 8.4
Same name and namespace in other branches
- 8 tests/src/Kernel/PageManagerRoutingTest.php \Drupal\Tests\page_manager\Kernel\PageManagerRoutingTest::testRouteFilter()
@covers \Drupal\page_manager\Routing\VariantRouteFilter
@dataProvider providerTestRouteFilter
File
- tests/
src/ Kernel/ PageManagerRoutingTest.php, line 110
Class
- PageManagerRoutingTest
- Integration test for Page Manager routing.
Namespace
Drupal\Tests\page_manager\KernelCode
public function testRouteFilter($path, $expected) {
$request = Request::create($path);
// \Drupal\Core\StackMiddleware\NegotiationMiddleware usually handles query
// parameter based formats, but middlewares do not run during kernel tests
// so set it directly.
$query = UrlHelper::parse($path)['query'];
if (isset($query['_format'])) {
$request
->setRequestFormat($query['_format']);
}
try {
$parameters = $this->container
->get('router')
->matchRequest($request);
} catch (\Exception $e) {
$parameters = [];
}
if ($expected) {
$this
->assertArrayHasKey(RouteObjectInterface::ROUTE_NAME, $parameters);
$this
->assertSame($expected, $parameters[RouteObjectInterface::ROUTE_NAME]);
}
else {
$this
->assertEmpty($parameters);
}
}