* 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
This commit is contained in:
54
tests/UrlHelperTest.php
Normal file
54
tests/UrlHelperTest.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
set_include_path(dirname(__DIR__) ."/include" . PATH_SEPARATOR .
|
||||
get_include_path());
|
||||
|
||||
require_once "autoload.php";
|
||||
require_once "functions.php";
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class UrlHelperTest extends TestCase {
|
||||
public function testCanBeUsedAsString(): void {
|
||||
/*$this->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')
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user