Issue #3110064 by idebr, chandrashekhar_srijan, Vidushi Mehta, ckng, benjifisher, mikelutz: Migrate empty, <nolink> and <none> link field

merge-requests/25/head
catch 2020-10-05 10:07:27 +01:00
parent 9557448a91
commit 9ca47a6c11
2 changed files with 18 additions and 1 deletions

View File

@ -60,10 +60,15 @@ class FieldLink extends ProcessPluginBase {
*/
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, ['<nolink>', '<none>'])) {
return 'route:<nolink>';
}
// Remove the <front> component of the URL.
if (strpos($uri, '<front>') === 0) {
$uri = substr($uri, strlen('<front>'));

View File

@ -86,6 +86,18 @@ class FieldLinkTest extends UnitTestCase {
'http://www.example.com/page#links',
'http://www.example.com/page#links',
],
'empty' => [
'',
'route:<nolink>',
],
'No link' => [
'<nolink>',
'route:<nolink>',
],
'none' => [
'<none>',
'route:<nolink>',
],
];
}