class RouterTest
Same name in this branch
- 9 core/modules/system/tests/src/Functional/Routing/RouterTest.php \Drupal\Tests\system\Functional\Routing\RouterTest
Same name and namespace in other branches
- 11.x core/modules/system/tests/src/Functional/Routing/RouterTest.php \Drupal\Tests\system\Functional\Routing\RouterTest
- 11.x core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest
- 10 core/modules/system/tests/src/Functional/Routing/RouterTest.php \Drupal\Tests\system\Functional\Routing\RouterTest
- 10 core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest
- 8.9.x core/modules/system/tests/src/Functional/Routing/RouterTest.php \Drupal\Tests\system\Functional\Routing\RouterTest
- 8.9.x core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest
@coversDefaultClass \Drupal\Core\Routing\Router
@group Routing
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\Routing\RouterTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of RouterTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Routing/ RouterTest.php, line 20
Namespace
Drupal\Tests\Core\RoutingView source
class RouterTest extends UnitTestCase {
/**
* @covers ::applyFitOrder
*/
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->createMock(RequestContext::class);
$request_context->expects($this->any())
->method('getScheme')
->willReturn('http');
$router->setContext($request_context);
$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']);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.