MyShaarli/tests/HttpUtils/PageUrlTest.php
VirtualTam 482d67bd52 HTTP: move server URL functions to HttpUtils.php
Relates to #333

Modifications:
 - refactor server URL utility functions
 - do not access global `$_SERVER` variables
 - add test coverage
 - improve readability
 - apply coding conventions

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-09-14 20:27:16 +02:00

77 lines
2 KiB
PHP

<?php
/**
* HttpUtils' tests
*/
require_once 'application/HttpUtils.php';
/**
* Unitary tests for page_url()
*/
class PageUrlTest extends PHPUnit_Framework_TestCase
{
/**
* If on the main page, remove "index.php" from the URL resource
*/
public function testRemoveIndex()
{
$this->assertEquals(
'http://host.tld/?p1=v1&p2=v2',
page_url(
array(
'HTTPS' => 'Off',
'SERVER_NAME' => 'host.tld',
'SERVER_PORT' => '80',
'SCRIPT_NAME' => '/index.php',
'QUERY_STRING' => 'p1=v1&p2=v2'
)
)
);
$this->assertEquals(
'http://host.tld/admin/?action=edit_tag',
page_url(
array(
'HTTPS' => 'Off',
'SERVER_NAME' => 'host.tld',
'SERVER_PORT' => '80',
'SCRIPT_NAME' => '/admin/index.php',
'QUERY_STRING' => 'action=edit_tag'
)
)
);
}
/**
* The resource is != "index.php"
*/
public function testOtherResource()
{
$this->assertEquals(
'http://host.tld/page.php?p1=v1&p2=v2',
page_url(
array(
'HTTPS' => 'Off',
'SERVER_NAME' => 'host.tld',
'SERVER_PORT' => '80',
'SCRIPT_NAME' => '/page.php',
'QUERY_STRING' => 'p1=v1&p2=v2'
)
)
);
$this->assertEquals(
'http://host.tld/admin/page.php?action=edit_tag',
page_url(
array(
'HTTPS' => 'Off',
'SERVER_NAME' => 'host.tld',
'SERVER_PORT' => '80',
'SCRIPT_NAME' => '/admin/page.php',
'QUERY_STRING' => 'action=edit_tag'
)
)
);
}
}