Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / tests / src / Unit / Routing / Drupal7 / RouteWrapperTest.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Tests\drupalmoduleupgrader\Unit\Converter\Routing\Drupal7\RouteWrapperTest.
6  */
7
8 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Routing\Drupal7;
9
10 use Drupal\drupalmoduleupgrader\Routing\Drupal7\RouteWrapper;
11 use Drupal\Tests\UnitTestCase;
12
13 /**
14  * @group DMU.Routing
15  */
16 class RouteWrapperTest extends UnitTestCase {
17
18   private function getMockRouteWrapper() {
19     $route = [
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',
26     ];
27     return new RouteWrapper('node/%node/revisions/list', $route);
28   }
29
30   public function testGetIdentifier() {
31     $this->assertEquals('node/%node/revisions/list', $this->getMockRouteWrapper()->getIdentifier());
32   }
33
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());
38   }
39
40   public function testUnwrap() {
41     $route = [
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',
48     ];
49
50     $unwrapped_route = $this->getMockRouteWrapper()->unwrap();
51     $this->assertTrue(is_array($unwrapped_route));
52
53     foreach ($route as $key => $value) {
54       $this->assertArrayHasKey($key, $unwrapped_route);
55       $this->assertEquals($value, $unwrapped_route[$key]);
56     }
57   }
58
59   public function testIsAbsoluteAccess() {
60     $wrapper = $this->getMockRouteWrapper();
61
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());
67   }
68
69   public function testIsPermissionBased() {
70     $wrapper = $this->getMockRouteWrapper();
71
72     $this->assertFalse($wrapper->isPermissionBased());
73     $wrapper['access callback'] = 'user_access';
74     $this->assertTrue($wrapper->isPermissionBased());
75   }
76
77   public function testHasLink() {
78     $this->assertTrue($this->getMockRouteWrapper()->hasLink());
79   }
80
81   public function testIsLink() {
82     $wrapper = $this->getMockRouteWrapper();
83     $this->assertFalse($wrapper->isLink());
84
85     $wrapper['type'] = 'MENU_NORMAL_ITEM';
86     $this->assertTrue($wrapper->isLink());
87   }
88
89   public function testIsLocalTask() {
90     $wrapper = $this->getMockRouteWrapper();
91     $this->assertFalse($wrapper->isLocalTask());
92
93     $wrapper['type'] = 'MENU_LOCAL_TASK';
94     $this->assertTrue($wrapper->isLocalTask());
95   }
96
97   public function testIsDefaultLocalTask() {
98     $wrapper = $this->getMockRouteWrapper();
99     $this->assertTrue($wrapper->isDefaultLocalTask());
100
101     $wrapper['type'] = 'MENU_NORMAL_ITEM';
102     $this->assertFalse($wrapper->isDefaultLocalTask());
103   }
104
105   public function testIsLocalAction() {
106     $wrapper = $this->getMockRouteWrapper();
107     $this->assertFalse($wrapper->isLocalAction());
108
109     $wrapper['type'] = 'MENU_LOCAL_ACTION';
110     $this->assertTrue($wrapper->isLocalAction());
111   }
112
113   public function testIsContextualLink() {
114     $wrapper = $this->getMockRouteWrapper();
115     $this->assertFalse($wrapper->isContextualLink());
116
117     $wrapper['type'] = 'MENU_LOCAL_ACTION';
118     $this->assertTrue($wrapper->isLocalAction());
119     $this->assertFalse($wrapper->isContextualLink());
120
121     $wrapper['context'] = 'MENU_CONTEXT_INLINE';
122     $this->assertTrue($wrapper->isContextualLink());
123
124     $wrapper['type'] = 'MENU_NORMAL_ITEM';
125     $this->assertFalse($wrapper->isContextualLink());
126   }
127
128 }