You are here

class RouterTest in Drupal 8

Same name in this branch
  1. 8 core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest
  2. 8 core/modules/system/tests/src/Functional/Routing/RouterTest.php \Drupal\Tests\system\Functional\Routing\RouterTest
Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest
  2. 10 core/tests/Drupal/Tests/Core/Routing/RouterTest.php \Drupal\Tests\Core\Routing\RouterTest

@coversDefaultClass \Drupal\Core\Routing\Router @group Routing

Hierarchy

Expanded class hierarchy of RouterTest

File

core/tests/Drupal/Tests/Core/Routing/RouterTest.php, line 20

Namespace

Drupal\Tests\Core\Routing
View 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
      ->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']);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
RouterTest::testMatchesWithDifferentFitOrder public function @covers ::applyFitOrder
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340