RouteWrapperTest.php in Drupal 7 to 8/9 Module Upgrader 8
File
tests/src/Unit/Routing/Drupal7/RouteWrapperTest.php
View source
<?php
namespace Drupal\Tests\drupalmoduleupgrader\Unit\Routing\Drupal7;
use Drupal\drupalmoduleupgrader\Routing\Drupal7\RouteWrapper;
use Drupal\Tests\UnitTestCase;
class RouteWrapperTest extends UnitTestCase {
private function getMockRouteWrapper() {
$route = [
'title' => 'List revisions',
'page callback' => 'diff_diffs_overview',
'type' => 'MENU_DEFAULT_LOCAL_TASK',
'access callback' => 'diff_node_revision_access',
'access arguments' => [
1,
],
'file' => 'diff.pages.inc',
];
return new RouteWrapper('node/%node/revisions/list', $route);
}
public function testGetIdentifier() {
$this
->assertEquals('node/%node/revisions/list', $this
->getMockRouteWrapper()
->getIdentifier());
}
public function testGetPath() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertInstanceOf('\\Drupal\\drupalmoduleupgrader\\Utility\\Path\\Drupal7\\PathUtility', $wrapper
->getPath());
$this
->assertEquals('node/%node/revisions/list', $wrapper
->getPath());
}
public function testUnwrap() {
$route = [
'title' => 'List revisions',
'page callback' => 'diff_diffs_overview',
'type' => 'MENU_DEFAULT_LOCAL_TASK',
'access callback' => 'diff_node_revision_access',
'access arguments' => [
1,
],
'file' => 'diff.pages.inc',
];
$unwrapped_route = $this
->getMockRouteWrapper()
->unwrap();
$this
->assertTrue(is_array($unwrapped_route));
foreach ($route as $key => $value) {
$this
->assertArrayHasKey($key, $unwrapped_route);
$this
->assertEquals($value, $unwrapped_route[$key]);
}
}
public function testIsAbsoluteAccess() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertFalse($wrapper
->isAbsoluteAccess());
$wrapper['access callback'] = TRUE;
$this
->assertTrue($wrapper
->isAbsoluteAccess());
$wrapper['access callback'] = FALSE;
$this
->assertTrue($wrapper
->isAbsoluteAccess());
}
public function testIsPermissionBased() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertFalse($wrapper
->isPermissionBased());
$wrapper['access callback'] = 'user_access';
$this
->assertTrue($wrapper
->isPermissionBased());
}
public function testHasLink() {
$this
->assertTrue($this
->getMockRouteWrapper()
->hasLink());
}
public function testIsLink() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertFalse($wrapper
->isLink());
$wrapper['type'] = 'MENU_NORMAL_ITEM';
$this
->assertTrue($wrapper
->isLink());
}
public function testIsLocalTask() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertFalse($wrapper
->isLocalTask());
$wrapper['type'] = 'MENU_LOCAL_TASK';
$this
->assertTrue($wrapper
->isLocalTask());
}
public function testIsDefaultLocalTask() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertTrue($wrapper
->isDefaultLocalTask());
$wrapper['type'] = 'MENU_NORMAL_ITEM';
$this
->assertFalse($wrapper
->isDefaultLocalTask());
}
public function testIsLocalAction() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertFalse($wrapper
->isLocalAction());
$wrapper['type'] = 'MENU_LOCAL_ACTION';
$this
->assertTrue($wrapper
->isLocalAction());
}
public function testIsContextualLink() {
$wrapper = $this
->getMockRouteWrapper();
$this
->assertFalse($wrapper
->isContextualLink());
$wrapper['type'] = 'MENU_LOCAL_ACTION';
$this
->assertTrue($wrapper
->isLocalAction());
$this
->assertFalse($wrapper
->isContextualLink());
$wrapper['context'] = 'MENU_CONTEXT_INLINE';
$this
->assertTrue($wrapper
->isContextualLink());
$wrapper['type'] = 'MENU_NORMAL_ITEM';
$this
->assertFalse($wrapper
->isContextualLink());
}
}