diff options
Diffstat (limited to 'tests/UrlHelperTest.php')
-rw-r--r-- | tests/UrlHelperTest.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/UrlHelperTest.php b/tests/UrlHelperTest.php new file mode 100644 index 000000000..fe4eb5db2 --- /dev/null +++ b/tests/UrlHelperTest.php @@ -0,0 +1,54 @@ +<?php + +use PHPUnit\Framework\TestCase; + +final class UrlHelperTest extends TestCase { + public function test_rewrite_relative(): void { + // protocol-neutral URL + $this->assertEquals( + 'https://example.com/example.html', + UrlHelper::rewrite_relative('http://example.com/example/', '//example.com/example.html') + ); + + // magnet allowed because it's a href attribute + $this->assertEquals( + 'magnet:?xt=urn:btih:...', + UrlHelper::rewrite_relative('http://example.com/example/', + 'magnet:?xt=urn:btih:...', + "a", "href", "") + ); + + // disallowed magnet + $this->assertEquals( + 'http://example.com?xt=urn:btih:...', + UrlHelper::rewrite_relative('http://example.com/example/', + 'magnet:?xt=urn:btih:...') + ); + + $this->assertEquals( + 'https://apod.nasa.gov/apod/image/2203/Road2Stars_EsoHoralek_1080.jpg', + UrlHelper::rewrite_relative('https://apod.nasa.gov/apod/ap220315.html', 'image/2203/Road2Stars_EsoHoralek_1080.jpg') + ); + + $this->assertEquals( + 'https://apod.nasa.gov/apod/image/2203/Road2Stars_EsoHoralek_1080.jpg', + UrlHelper::rewrite_relative('https://apod.nasa.gov/apod/ap220315.html', './image/2203/Road2Stars_EsoHoralek_1080.jpg') + ); + + $this->assertEquals( + 'http://example.com/test/url', + UrlHelper::rewrite_relative('http://example.com/test/url', '') + ); + + $this->assertEquals( + 'http://www.example.com/test', + UrlHelper::rewrite_relative('http://www.example2.com ', 'http://www.example.com/test') + ); + + $this->assertEquals( + 'http://www.example.com/test', + UrlHelper::rewrite_relative('http://www.example.com/test2 ', 'http://www.example.com/test') + ); + + } +} |