X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Flink%2Ftests%2Fsrc%2FUnit%2FPlugin%2Fmigrate%2Fprocess%2FFieldLinkTest.php;fp=web%2Fcore%2Fmodules%2Flink%2Ftests%2Fsrc%2FUnit%2FPlugin%2Fmigrate%2Fprocess%2FFieldLinkTest.php;h=f765f6af357d0cc5d090d1dedea410dbdf1bcc46;hp=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/web/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php b/web/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php new file mode 100644 index 000000000..f765f6af3 --- /dev/null +++ b/web/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php @@ -0,0 +1,92 @@ +getMock(MigrationInterface::class)); + $transformed = $link_plugin->transform([ + 'url' => $url, + 'title' => '', + 'attributes' => serialize([]), + ], $this->getMock(MigrateExecutableInterface::class), $this->getMockBuilder(Row::class)->disableOriginalConstructor()->getMock(), NULL); + $this->assertEquals($expected, $transformed['uri']); + } + + /** + * Data provider for testCanonicalizeUri. + */ + public function canonicalizeUriDataProvider() { + return [ + 'Simple front-page' => [ + '', + 'internal:/', + ], + 'Front page with query' => [ + '?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', + ], + 'Absolute URL with protocol prefix' => [ + 'http://www.google.com', + 'http://www.google.com', + ], + 'Absolute URL without protocol prefix' => [ + 'www.yahoo.com', + 'http://www.yahoo.com', + ], + 'Absolute URL without protocol prefix nor www' => [ + 'yahoo.com', + 'https://yahoo.com', + ['uri_scheme' => 'https://'], + ], + 'Absolute URL with non-standard characters' => [ + 'http://www.ßÀÑÐ¥ƒå¢ë.com', + 'http://www.ßÀÑÐ¥ƒå¢ë.com', + ], + 'Absolute URL with non-standard characters, without protocol prefix' => [ + 'www.ÐØÑ¢åþë.com', + 'http://www.ÐØÑ¢åþë.com', + ], + 'Absolute URL with non-standard top level domain' => [ + 'http://www.example.xxx', + 'http://www.example.xxx', + ], + 'Internal link with fragment' => [ + '/node/10#top', + 'internal:/node/10#top', + ], + 'External link with fragment' => [ + 'http://www.example.com/page#links', + 'http://www.example.com/page#links', + ], + ]; + } + +}