public function RouterTest::testMatchesWithDifferentFitOrder in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest::testMatchesWithDifferentFitOrder()
@covers ::applyFitOrder
File
- core/
tests/ Drupal/ Tests/ Core/ Routing/ RouterTest.php, line 25
Class
- RouterTest
- @coversDefaultClass \Drupal\Core\Routing\Router @group Routing
Namespace
Drupal\Tests\Core\RoutingCode
public function testMatchesWithDifferentFitOrder() {
$route_provider = $this
->prophesize(RouteProviderInterface::class);
$route_collection = new RouteCollection();
$route = new Route('/user/{user}');
$route
->setOption('compiler_class', RouteCompiler::class);
$route_collection
->add('user_view', $route);
$route = new Route('/user/login');
$route
->setOption('compiler_class', RouteCompiler::class);
$route_collection
->add('user_login', $route);
$route_provider
->getRouteCollectionForRequest(Argument::any())
->willReturn($route_collection);
$url_generator = $this
->prophesize(UrlGeneratorInterface::class);
$current_path_stack = $this
->prophesize(CurrentPathStack::class);
$router = new Router($route_provider
->reveal(), $current_path_stack
->reveal(), $url_generator
->reveal());
$request_context = $this
->prophesize(RequestContext::class);
$request_context
->getScheme()
->willReturn('http');
$router
->setContext($request_context
->reveal());
$current_path_stack
->getPath(Argument::any())
->willReturn('/user/1');
$result = $router
->match('/user/1');
$this
->assertEquals('user_view', $result['_route']);
$current_path_stack
->getPath(Argument::any())
->willReturn('/user/login');
$result = $router
->match('/user/login');
$this
->assertEquals('user_login', $result['_route']);
}