5 * Contains \Drupal\Tests\drupalmoduleupgrader\Unit\Converter\Routing\Drupal7\RouteWrapperTest.
8 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Routing\Drupal7;
10 use Drupal\drupalmoduleupgrader\Routing\Drupal7\RouteWrapper;
11 use Drupal\Tests\UnitTestCase;
16 class RouteWrapperTest extends UnitTestCase {
18 private function getMockRouteWrapper() {
20 'title' => 'List revisions',
21 'page callback' => 'diff_diffs_overview',
22 'type' => 'MENU_DEFAULT_LOCAL_TASK',
23 'access callback' => 'diff_node_revision_access',
24 'access arguments' => [1],
25 'file' => 'diff.pages.inc',
27 return new RouteWrapper('node/%node/revisions/list', $route);
30 public function testGetIdentifier() {
31 $this->assertEquals('node/%node/revisions/list', $this->getMockRouteWrapper()->getIdentifier());
34 public function testGetPath() {
35 $wrapper = $this->getMockRouteWrapper();
36 $this->assertInstanceOf('\Drupal\drupalmoduleupgrader\Utility\Path\Drupal7\PathUtility', $wrapper->getPath());
37 $this->assertEquals('node/%node/revisions/list', $wrapper->getPath());
40 public function testUnwrap() {
42 'title' => 'List revisions',
43 'page callback' => 'diff_diffs_overview',
44 'type' => 'MENU_DEFAULT_LOCAL_TASK',
45 'access callback' => 'diff_node_revision_access',
46 'access arguments' => [1],
47 'file' => 'diff.pages.inc',
50 $unwrapped_route = $this->getMockRouteWrapper()->unwrap();
51 $this->assertTrue(is_array($unwrapped_route));
53 foreach ($route as $key => $value) {
54 $this->assertArrayHasKey($key, $unwrapped_route);
55 $this->assertEquals($value, $unwrapped_route[$key]);
59 public function testIsAbsoluteAccess() {
60 $wrapper = $this->getMockRouteWrapper();
62 $this->assertFalse($wrapper->isAbsoluteAccess());
63 $wrapper['access callback'] = TRUE;
64 $this->assertTrue($wrapper->isAbsoluteAccess());
65 $wrapper['access callback'] = FALSE;
66 $this->assertTrue($wrapper->isAbsoluteAccess());
69 public function testIsPermissionBased() {
70 $wrapper = $this->getMockRouteWrapper();
72 $this->assertFalse($wrapper->isPermissionBased());
73 $wrapper['access callback'] = 'user_access';
74 $this->assertTrue($wrapper->isPermissionBased());
77 public function testHasLink() {
78 $this->assertTrue($this->getMockRouteWrapper()->hasLink());
81 public function testIsLink() {
82 $wrapper = $this->getMockRouteWrapper();
83 $this->assertFalse($wrapper->isLink());
85 $wrapper['type'] = 'MENU_NORMAL_ITEM';
86 $this->assertTrue($wrapper->isLink());
89 public function testIsLocalTask() {
90 $wrapper = $this->getMockRouteWrapper();
91 $this->assertFalse($wrapper->isLocalTask());
93 $wrapper['type'] = 'MENU_LOCAL_TASK';
94 $this->assertTrue($wrapper->isLocalTask());
97 public function testIsDefaultLocalTask() {
98 $wrapper = $this->getMockRouteWrapper();
99 $this->assertTrue($wrapper->isDefaultLocalTask());
101 $wrapper['type'] = 'MENU_NORMAL_ITEM';
102 $this->assertFalse($wrapper->isDefaultLocalTask());
105 public function testIsLocalAction() {
106 $wrapper = $this->getMockRouteWrapper();
107 $this->assertFalse($wrapper->isLocalAction());
109 $wrapper['type'] = 'MENU_LOCAL_ACTION';
110 $this->assertTrue($wrapper->isLocalAction());
113 public function testIsContextualLink() {
114 $wrapper = $this->getMockRouteWrapper();
115 $this->assertFalse($wrapper->isContextualLink());
117 $wrapper['type'] = 'MENU_LOCAL_ACTION';
118 $this->assertTrue($wrapper->isLocalAction());
119 $this->assertFalse($wrapper->isContextualLink());
121 $wrapper['context'] = 'MENU_CONTEXT_INLINE';
122 $this->assertTrue($wrapper->isContextualLink());
124 $wrapper['type'] = 'MENU_NORMAL_ITEM';
125 $this->assertFalse($wrapper->isContextualLink());