RouterTest.php
Same filename in this branch
Same filename in other branches
- 9 core/modules/system/tests/src/Functional/Routing/RouterTest.php
- 9 core/tests/Drupal/Tests/Core/Routing/RouterTest.php
- 10 core/modules/system/tests/src/Functional/Routing/RouterTest.php
- 10 core/tests/Drupal/Tests/Core/Routing/RouterTest.php
- 11.x core/modules/system/tests/src/Functional/Routing/RouterTest.php
- 11.x core/tests/Drupal/Tests/Core/Routing/RouterTest.php
Namespace
Drupal\Tests\Core\RoutingFile
-
core/
tests/ Drupal/ Tests/ Core/ Routing/ RouterTest.php
View source
<?php
namespace Drupal\Tests\Core\Routing;
use Drupal\Core\Path\CurrentPathStack;
use Drupal\Core\Routing\RequestContext;
use Drupal\Core\Routing\RouteCompiler;
use Drupal\Core\Routing\RouteProviderInterface;
use Drupal\Core\Routing\Router;
use Drupal\Core\Routing\UrlGeneratorInterface;
use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
/**
* @coversDefaultClass \Drupal\Core\Routing\Router
* @group Routing
*/
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->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']);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
RouterTest | @coversDefaultClass \Drupal\Core\Routing\Router @group Routing |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.