Version 1
[yaffs-website] / web / core / modules / field_ui / tests / src / Unit / FieldUiTest.php
diff --git a/web/core/modules/field_ui/tests/src/Unit/FieldUiTest.php b/web/core/modules/field_ui/tests/src/Unit/FieldUiTest.php
new file mode 100644 (file)
index 0000000..19e1244
--- /dev/null
@@ -0,0 +1,72 @@
+<?php
+
+namespace Drupal\Tests\field_ui\Unit;
+
+use Drupal\Core\DependencyInjection\ContainerBuilder;
+use Drupal\field_ui\FieldUI;
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * @coversDefaultClass \Drupal\field_ui\FieldUI
+ *
+ * @group field_ui
+ */
+class FieldUiTest extends UnitTestCase {
+
+  /**
+   * The path validator.
+   *
+   * @var \Drupal\Core\Path\PathValidatorInterface|\PHPUnit_Framework_MockObject_MockObject
+   */
+  protected $pathValidator;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->pathValidator = $this->getMock('Drupal\Core\Path\PathValidatorInterface');
+    $container = new ContainerBuilder();
+    $container->set('path.validator', $this->pathValidator);
+    \Drupal::setContainer($container);
+  }
+
+  /**
+   * @covers ::getNextDestination
+   */
+  public function testGetNextDestination() {
+    $destinations = ['admin', 'admin/content'];
+    $expected_uri = 'base:admin';
+    $expected_query = [
+      'destinations' => ['admin/content'],
+    ];
+    $actual = FieldUI::getNextDestination($destinations);
+    $this->assertSame($expected_uri, $actual->getUri());
+    $this->assertSame($expected_query, $actual->getOption('query'));
+  }
+
+  /**
+   * @covers ::getNextDestination
+   */
+  public function testGetNextDestinationEmpty() {
+    $destinations = [];
+    $actual = FieldUI::getNextDestination($destinations);
+    $this->assertNull($actual);
+  }
+
+  /**
+   * @covers ::getNextDestination
+   */
+  public function testGetNextDestinationRouteName() {
+    $destinations = [['route_name' => 'system.admin'], ['route_name' => 'system.admin_content']];
+    $expected_route_name = 'system.admin';
+    $expected_query = [
+      'destinations' => [['route_name' => 'system.admin_content']],
+    ];
+    $actual = FieldUI::getNextDestination($destinations);
+    $this->assertSame($expected_route_name, $actual->getRouteName());
+    $this->assertSame($expected_query, $actual->getOption('query'));
+  }
+
+}