LinkBindingTest.php in Drupal 7 to 8/9 Module Upgrader 8
File
tests/src/Unit/Routing/LinkBinding/LinkBindingTest.php
View source
<?php
namespace Drupal\Tests\drupalmoduleupgrader\Unit\Routing\LinkBinding;
use Drupal\drupalmoduleupgrader\Routing\Drupal7\RouteWrapper as Drupal7Route;
use Drupal\drupalmoduleupgrader\Routing\Drupal8\RouteWrapper as Drupal8Route;
use Drupal\drupalmoduleupgrader\Routing\LinkBinding\LinkBinding;
use Drupal\drupalmoduleupgrader\Routing\LinkIndex;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\Routing\Route;
class LinkBindingTest extends UnitTestCase {
private $source, $destination;
public function setUp() {
parent::setUp();
$item = [
'title' => 'Diff',
'description' => 'Diff settings.',
'file' => 'diff.admin.inc',
'page callback' => 'drupal_get_form',
'page arguments' => [
'diff_admin_settings',
],
'access arguments' => [
'administer site configuration',
],
];
$this->source = new Drupal7Route('admin/config/content/diff', $item);
$this->destination = new Drupal8Route('diff.settings', new Route('/admin/config/content/diff'), $this
->createMock('\\Drupal\\Core\\Routing\\RouteProviderInterface'));
}
private function getMockBinding() {
return new LinkBinding($this->source, $this->destination);
}
public function testGetSource() {
$this
->assertSame($this->source, $this
->getMockBinding()
->getSource());
}
public function testGetDestination() {
$this
->assertSame($this->destination, $this
->getMockBinding()
->getDestination());
}
public function testGetIdentifier() {
$this
->assertSame('diff.settings', $this
->getMockBinding()
->getIdentifier());
}
public function testOnIndexed() {
$binding = $this
->getMockBinding();
$index = new LinkIndex();
$index
->addBinding($binding);
$this
->assertSame('diff.settings', $binding
->getIdentifier());
$clone = clone $binding;
$index
->addBinding($clone);
$this
->assertSame('diff.settings_0', $clone
->getIdentifier());
}
public function testBuild() {
$link = $this
->getMockBinding()
->build();
$this
->assertEquals('diff.settings', $link['route_name']);
$this
->assertEquals('Diff', $link['title']);
$this
->assertArrayNotHasKey('weight', $link);
}
}