5 * Contains \Drupal\Tests\drupalmoduleupgrader\Unit\Converter\Routing\RouterBaseTest.
8 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Routing;
10 use Drupal\drupalmoduleupgrader\Routing\Drupal8\RouteWrapper;
11 use Drupal\drupalmoduleupgrader\Routing\RouterBase;
12 use Drupal\Tests\UnitTestCase;
13 use Symfony\Component\Routing\Route;
14 use Symfony\Component\Routing\RouteCollection;
19 class RouterBaseTest extends UnitTestCase {
21 private $userEdit, $userView, $userRoot, $routeProvider;
23 public function __construct() {
24 $this->userEdit = new Route('/user/{user}/edit');
25 $this->userView = new Route('/user/{user}');
26 $this->userRoot = new Route('/user');
28 $route_collection = new RouteCollection();
29 $route_collection->add('user', $this->userRoot);
31 $this->routeProvider = $this->getMock('\Drupal\Core\Routing\RouteProviderInterface');
33 ->expects($this->any())
34 ->method('getRoutesByPattern')
36 ->will($this->returnValue($route_collection));
39 public function testAddRoute() {
40 $router = new RouterBase();
41 $this->assertCount(0, $router);
43 $route = new RouteWrapper('user.edit', $this->userEdit, $this->routeProvider);
44 $router->addRoute($route);
45 $this->assertCount(1, $router);
49 * @depends testAddRoute
51 public function testFinalize() {
52 $router = new RouterBase();
54 $user_edit = new RouteWrapper('user.edit', $this->userEdit, $this->routeProvider);
55 $router->addRoute($user_edit);
57 $user_view = new RouteWrapper('user.view', $this->userView, $this->routeProvider);
58 $router->addRoute($user_view);
62 $this->assertTrue($user_edit->hasParent());
63 $this->assertSame($user_view, $user_edit->getParent());
64 $this->assertTrue($user_view->hasParent());
65 $this->assertEquals('/user', $user_view->getParent()->getPath());