From d0ab3ca789a8770b3ca53e933df9287a269e3acc Mon Sep 17 00:00:00 2001 From: catch Date: Mon, 5 Oct 2020 10:07:27 +0100 Subject: [PATCH] Issue #3110064 by idebr, chandrashekhar_srijan, Vidushi Mehta, ckng, benjifisher, mikelutz: Migrate empty, and link field (cherry picked from commit 9ca47a6c1137ca25bb960b413f64d847298ab198) --- .../link/src/Plugin/migrate/process/FieldLink.php | 7 ++++++- .../Unit/Plugin/migrate/process/FieldLinkTest.php | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/core/modules/link/src/Plugin/migrate/process/FieldLink.php b/core/modules/link/src/Plugin/migrate/process/FieldLink.php index 143b7ea09b..14f615e3b4 100644 --- a/core/modules/link/src/Plugin/migrate/process/FieldLink.php +++ b/core/modules/link/src/Plugin/migrate/process/FieldLink.php @@ -60,10 +60,15 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition */ protected function canonicalizeUri($uri) { // If we already have a scheme, we're fine. - if (empty($uri) || parse_url($uri, PHP_URL_SCHEME)) { + if (parse_url($uri, PHP_URL_SCHEME)) { return $uri; } + // Empty URI and non-links are allowed. + if (empty($uri) || in_array($uri, ['', ''])) { + return 'route:'; + } + // Remove the component of the URL. if (strpos($uri, '') === 0) { $uri = substr($uri, strlen('')); diff --git a/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php b/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php index 18456aa86a..6185341058 100644 --- a/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php +++ b/core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php @@ -86,6 +86,18 @@ public function canonicalizeUriDataProvider() { 'http://www.example.com/page#links', 'http://www.example.com/page#links', ], + 'empty' => [ + '', + 'route:', + ], + 'No link' => [ + '', + 'route:', + ], + 'none' => [ + '', + 'route:', + ], ]; } -- GitLab