From 1c4f7ab3b838b23afb2ee4dab14acbf75956e952 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 22 Mar 2022 12:24:31 +0300 Subject: * add phpunit as a dev dependency * add some basic tests for UrlHelper::rewrite_relative() * fix UrlHelper::rewrite_relative() to work better on non-absolute relative URL paths --- tests/UrlHelperTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/UrlHelperTest.php (limited to 'tests') diff --git a/tests/UrlHelperTest.php b/tests/UrlHelperTest.php new file mode 100644 index 000000000..2d92c332b --- /dev/null +++ b/tests/UrlHelperTest.php @@ -0,0 +1,54 @@ +assertEquals( + 'http://example.com/example.html', + UrlHelper::rewrite_relative('http://example.com/example/', '/example.html') + ); + + $this->assertEquals( + 'http://example.com/example/example.html', + UrlHelper::rewrite_relative('http://example.com/example/', 'example.html') + );*/ + + // 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') + ); + + } +} -- cgit v1.2.3