tests: add stub autoloader, add a few more rewrite_relative tests
This commit is contained in:
parent
1c4f7ab3b8
commit
e35a4a1306
|
@ -12,3 +12,4 @@ Thumbs.db
|
|||
/lock/*
|
||||
/.vscode/settings.json
|
||||
/vendor/**/.git
|
||||
/.phpunit.result.cache
|
||||
|
|
|
@ -26,6 +26,7 @@ class UrlHelper {
|
|||
/** @var string */
|
||||
static $fetch_last_modified;
|
||||
|
||||
|
||||
/** @var string */
|
||||
static $fetch_effective_url;
|
||||
|
||||
|
@ -68,6 +69,8 @@ class UrlHelper {
|
|||
|
||||
$rel_parts = parse_url($rel_url);
|
||||
|
||||
if (!$rel_url) return $base_url;
|
||||
|
||||
/**
|
||||
* If parse_url failed to parse $rel_url return false to match the current "invalid thing" behavior
|
||||
* of UrlHelper::validate().
|
||||
|
@ -107,7 +110,7 @@ class UrlHelper {
|
|||
$rel_parts['host'] = $base_parts['host'] ?? "";
|
||||
$rel_parts['scheme'] = $base_parts['scheme'] ?? "";
|
||||
|
||||
if (isset($rel_parts['path'])) {
|
||||
if ($rel_parts['path'] ?? false) {
|
||||
|
||||
// we append dirname() of base path to relative URL path as per RFC 3986 section 5.2.2
|
||||
$base_path = with_trailing_slash(dirname($base_parts['path']));
|
||||
|
|
|
@ -1,24 +1,9 @@
|
|||
<?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')
|
||||
);*/
|
||||
|
||||
public function test_rewrite_relative(): void {
|
||||
// protocol-neutral URL
|
||||
$this->assertEquals(
|
||||
'https://example.com/example.html',
|
||||
|
@ -50,5 +35,20 @@ final class UrlHelperTest extends TestCase {
|
|||
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')
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
set_include_path(dirname(__DIR__) ."/include" . PATH_SEPARATOR .
|
||||
get_include_path());
|
||||
|
||||
require_once "autoload.php";
|
||||
require_once "functions.php";
|
Loading…
Reference in New Issue