drupalmoduleupgrader-8.x-1.5/tests/src/Unit/Routing/Drupal7/RouteWrapperTest.php
tests/src/Unit/Routing/Drupal7/RouteWrapperTest.php
<?php
namespace Drupal\Tests\drupalmoduleupgrader\Unit\Routing\Drupal7;
use Drupal\drupalmoduleupgrader\Routing\Drupal7\RouteWrapper;
use Drupal\Tests\UnitTestCase;
/**
* @group DMU.Routing
*/
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());
}
}
