dedupe BASE_URL / BASE_HREF
This commit is contained in:
parent
e9ab6aa802
commit
ce8da04d3a
@ -31,6 +31,6 @@ _d("WH_SPLITS", 1); // int how many levels of subfolders to put in
|
|||||||
_d("VERSION", '2.8-dev'); // string shimmie version
|
_d("VERSION", '2.8-dev'); // string shimmie version
|
||||||
_d("TIMEZONE", null); // string timezone
|
_d("TIMEZONE", null); // string timezone
|
||||||
_d("EXTRA_EXTS", ""); // string optional extra extensions
|
_d("EXTRA_EXTS", ""); // string optional extra extensions
|
||||||
_d("BASE_URL", null); // string force a specific base URL (default is auto-detect)
|
_d("BASE_HREF", null); // string force a specific base URL (default is auto-detect)
|
||||||
_d("TRACE_FILE", null); // string file to log performance data into
|
_d("TRACE_FILE", null); // string file to log performance data into
|
||||||
_d("TRACE_THRESHOLD", 0.0); // float log pages which take more time than this many seconds
|
_d("TRACE_THRESHOLD", 0.0); // float log pages which take more time than this many seconds
|
||||||
|
39
core/tests/urls.test.php
Normal file
39
core/tests/urls.test.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
require_once "core/urls.php";
|
||||||
|
|
||||||
|
class UrlsTest extends \PHPUnit\Framework\TestCase
|
||||||
|
{
|
||||||
|
public function test_make_link()
|
||||||
|
{
|
||||||
|
$this->assertEquals(
|
||||||
|
"/test/foo",
|
||||||
|
make_link("foo")
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
"/test/foo",
|
||||||
|
make_link("/foo")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_make_http()
|
||||||
|
{
|
||||||
|
// relative to shimmie install
|
||||||
|
$this->assertEquals(
|
||||||
|
"http://<cli command>/test/foo",
|
||||||
|
make_http("foo")
|
||||||
|
);
|
||||||
|
|
||||||
|
// relative to web server
|
||||||
|
$this->assertEquals(
|
||||||
|
"http://<cli command>/foo",
|
||||||
|
make_http("/foo")
|
||||||
|
);
|
||||||
|
|
||||||
|
// absolute
|
||||||
|
$this->assertEquals(
|
||||||
|
"http://foo.com",
|
||||||
|
make_http("http://foo.com")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -34,12 +34,11 @@ function make_link(?string $page=null, ?string $query=null): string
|
|||||||
$page = $config->get_string(SetupConfig::MAIN_PAGE);
|
$page = $config->get_string(SetupConfig::MAIN_PAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_null(BASE_URL)) {
|
$install_dir = get_base_href();
|
||||||
$base = BASE_URL;
|
if (NICE_URLS || $config->get_bool('nice_urls', false)) {
|
||||||
} elseif (NICE_URLS || $config->get_bool('nice_urls', false)) {
|
$base = $install_dir;
|
||||||
$base = str_replace('/'.basename($_SERVER["SCRIPT_FILENAME"]), "", $_SERVER["PHP_SELF"]);
|
|
||||||
} else {
|
} else {
|
||||||
$base = "./".basename($_SERVER["SCRIPT_FILENAME"])."?q=";
|
$base = "$install_dir/index.php?q=";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($query)) {
|
if (is_null($query)) {
|
||||||
|
@ -30,21 +30,21 @@ class ViewImageTest extends ShimmiePHPUnitTestCase
|
|||||||
$page = $this->get_page("post/next/$image_id_1");
|
$page = $this->get_page("post/next/$image_id_1");
|
||||||
$this->assertEquals(404, $page->code);
|
$this->assertEquals(404, $page->code);
|
||||||
$page = $this->get_page("post/prev/$image_id_1");
|
$page = $this->get_page("post/prev/$image_id_1");
|
||||||
$this->assertEquals("/post/view/$image_id_2", $page->redirect);
|
$this->assertEquals("/test/post/view/$image_id_2", $page->redirect);
|
||||||
|
|
||||||
// When searching, we skip the middle
|
// When searching, we skip the middle
|
||||||
$page = $this->get_page("post/prev/$image_id_1?search=test");
|
$page = $this->get_page("post/prev/$image_id_1?search=test");
|
||||||
$this->assertEquals("/post/view/$image_id_2", $page->redirect);
|
$this->assertEquals("/test/post/view/$image_id_2", $page->redirect);
|
||||||
|
|
||||||
// Middle image: has next and prev
|
// Middle image: has next and prev
|
||||||
$page = $this->get_page("post/next/$image_id_2");
|
$page = $this->get_page("post/next/$image_id_2");
|
||||||
$this->assertEquals("/post/view/$image_id_1", $page->redirect);
|
$this->assertEquals("/test/post/view/$image_id_1", $page->redirect);
|
||||||
$page = $this->get_page("post/prev/$image_id_2");
|
$page = $this->get_page("post/prev/$image_id_2");
|
||||||
$this->assertEquals("/post/view/$image_id_3", $page->redirect);
|
$this->assertEquals("/test/post/view/$image_id_3", $page->redirect);
|
||||||
|
|
||||||
// Last image has next, no prev
|
// Last image has next, no prev
|
||||||
$page = $this->get_page("post/next/$image_id_3");
|
$page = $this->get_page("post/next/$image_id_3");
|
||||||
$this->assertEquals("/post/view/$image_id_2", $page->redirect);
|
$this->assertEquals("/test/post/view/$image_id_2", $page->redirect);
|
||||||
$page = $this->get_page("post/prev/$image_id_3");
|
$page = $this->get_page("post/prev/$image_id_3");
|
||||||
$this->assertEquals(404, $page->code);
|
$this->assertEquals(404, $page->code);
|
||||||
}
|
}
|
||||||
|
@ -13,9 +13,8 @@ define("SPEED_HAX", false);
|
|||||||
define("NICE_URLS", true);
|
define("NICE_URLS", true);
|
||||||
define("WH_SPLITS", 1);
|
define("WH_SPLITS", 1);
|
||||||
define("VERSION", 'unit-tests');
|
define("VERSION", 'unit-tests');
|
||||||
define("BASE_URL", "/");
|
|
||||||
define("TRACE_FILE", null);
|
define("TRACE_FILE", null);
|
||||||
define("TRACE_THRESHOLD", 0.0);
|
define("TRACE_THRESHOLD", 0.0);
|
||||||
define("TIMEZONE", 'UTC');
|
define("TIMEZONE", 'UTC');
|
||||||
define("BASE_HREF", "/");
|
define("BASE_HREF", "/test");
|
||||||
define("CLI_LOG_LEVEL", 50);
|
define("CLI_LOG_LEVEL", 50);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user