X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fredirect%2Fsrc%2FTests%2FAssertRedirectTrait.php;fp=web%2Fmodules%2Fcontrib%2Fredirect%2Fsrc%2FTests%2FAssertRedirectTrait.php;h=ae9368886da3ef7c78775e1a1d38295a594228ba;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/redirect/src/Tests/AssertRedirectTrait.php b/web/modules/contrib/redirect/src/Tests/AssertRedirectTrait.php new file mode 100644 index 000000000..ae9368886 --- /dev/null +++ b/web/modules/contrib/redirect/src/Tests/AssertRedirectTrait.php @@ -0,0 +1,53 @@ +drupalHead($path); + $headers = $this->drupalGetHeaders(TRUE); + + $ending_url = isset($headers[0]['location']) ? $headers[0]['location'] : NULL; + $message = SafeMarkup::format('Testing redirect from %from to %to. Ending url: %url', [ + '%from' => $path, + '%to' => $expected_ending_url, + '%url' => $ending_url, + ]); + + if ($expected_ending_url == '') { + $expected_ending_url = Url::fromUri('base:')->setAbsolute()->toString(); + } + elseif (!empty($expected_ending_url)) { + // Check for absolute/external urls. + if (!parse_url($expected_ending_url, PHP_URL_SCHEME)) { + $expected_ending_url = Url::fromUri('base:' . $expected_ending_url)->setAbsolute()->toString(); + } + } + else { + $expected_ending_url = NULL; + } + + $this->assertEqual($expected_ending_url, $ending_url, $message); + + $this->assertEqual($headers[0][':status'], $expected_ending_status); + } + +}