diff --git a/core/tests/Drupal/Tests/UiHelperTrait.php b/core/tests/Drupal/Tests/UiHelperTrait.php index 61fb51c3d27313cbf14126f86fac19ff71d39bc8..7c2e59992fec71ae060c8735ae9e627194f12726 100644 --- a/core/tests/Drupal/Tests/UiHelperTrait.php +++ b/core/tests/Drupal/Tests/UiHelperTrait.php @@ -272,6 +272,8 @@ protected function drupalGet($path, array $options = [], array $headers = []) { * An absolute URL string. */ protected function buildUrl($path, array $options = []) { + global $base_path; + if ($path instanceof Url) { $url_options = $path->getOptions(); $options = $url_options + $options; @@ -281,6 +283,12 @@ protected function buildUrl($path, array $options = []) { // The URL generator service is not necessarily available yet; e.g., in // interactive installer tests. elseif (\Drupal::hasService('url_generator')) { + // Strip $base_path, if existent. + $length = strlen($base_path); + if (substr($path, 0, $length) === $base_path) { + $path = substr($path, $length); + } + $force_internal = isset($options['external']) && $options['external'] == FALSE; if (!$force_internal && UrlHelper::isExternal($path)) { return Url::fromUri($path, $options)->toString();