Version 1
[yaffs-website] / web / core / modules / link / tests / src / Unit / Plugin / migrate / process / d6 / FieldLinkTest.php
diff --git a/web/core/modules/link/tests/src/Unit/Plugin/migrate/process/d6/FieldLinkTest.php b/web/core/modules/link/tests/src/Unit/Plugin/migrate/process/d6/FieldLinkTest.php
new file mode 100644 (file)
index 0000000..4b4eda2
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+
+namespace Drupal\Tests\link\Unit\Plugin\migrate\process\d6;
+
+use Drupal\link\Plugin\migrate\process\d6\FieldLink;
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * @group Link
+ */
+class FieldLinkTest extends UnitTestCase {
+
+  /**
+   * Test the url transformations in the FieldLink process plugin.
+   *
+   * @dataProvider canonicalizeUriDataProvider
+   */
+  public function testCanonicalizeUri($url, $expected) {
+    $link_plugin = new FieldLink([], '', [], $this->getMock('\Drupal\migrate\Plugin\MigrationInterface'));
+    $transformed = $link_plugin->transform([
+      'url' => $url,
+      'title' => '',
+      'attributes' => serialize([]),
+    ], $this->getMock('\Drupal\migrate\MigrateExecutableInterface'), $this->getMockBuilder('\Drupal\migrate\Row')->disableOriginalConstructor()->getMock(), NULL);
+    $this->assertEquals($expected, $transformed['uri']);
+  }
+
+  /**
+   * Data provider for testCanonicalizeUri.
+   */
+  public function canonicalizeUriDataProvider() {
+    return [
+      'Simple front-page' => [
+        '<front>',
+        'internal:/',
+      ],
+      'Front page with query' => [
+        '<front>?query=1',
+        'internal:/?query=1',
+      ],
+      'No leading forward slash' => [
+        'node/10',
+        'internal:/node/10',
+      ],
+      'Leading forward slash' => [
+        '/node/10',
+        'internal:/node/10',
+      ],
+      'Existing scheme' => [
+        'scheme:test',
+        'scheme:test',
+      ],
+    ];
+  }
+
+}