freenetis-github/tests/application/helpers/url_tpathTest.php @ 18ac9009
18ac9009 | Ondřej Fibich | <?php
|
|
/**
|
|||
* Test class for url_tpath.
|
|||
*
|
|||
* @author Ondřej Fibich
|
|||
*/
|
|||
class url_tpatchTest extends PHPUnit_Framework_TestCase
|
|||
{
|
|||
/**
|
|||
* Test for is_valid method.
|
|||
*
|
|||
* @covers url_tpath::is_valid
|
|||
*/
|
|||
public function test_is_valid()
|
|||
{
|
|||
$this->assertTrue(url_tpath::is_valid('/'));
|
|||
$this->assertTrue(url_tpath::is_valid('/5rT'));
|
|||
$this->assertFalse(url_tpath::is_valid('/5rT/'));
|
|||
$this->assertTrue(url_tpath::is_valid('/5rT/aa'));
|
|||
$this->assertTrue(url_tpath::is_valid('/*'));
|
|||
$this->assertTrue(url_tpath::is_valid('/**'));
|
|||
$this->assertTrue(url_tpath::is_valid('/abczAZS0987654321-_/aUZS'));
|
|||
$this->assertTrue(url_tpath::is_valid('/aca/*/**'));
|
|||
$this->assertFalse(url_tpath::is_valid('/aca/*-aa/**'));
|
|||
$this->assertFalse(url_tpath::is_valid('asa'));
|
|||
$this->assertFalse(url_tpath::is_valid('/ůasa'));
|
|||
$this->assertFalse(url_tpath::is_valid('//'));
|
|||
$this->assertFalse(url_tpath::is_valid('/***'));
|
|||
$this->assertFalse(url_tpath::is_valid('/****'));
|
|||
$this->assertFalse(url_tpath::is_valid('/a/*****'));
|
|||
}
|
|||
/**
|
|||
* Test for is_valid method.
|
|||
*
|
|||
* @covers url_tpath::is_group_valid
|
|||
*/
|
|||
public function test_is_group_valid()
|
|||
{
|
|||
$this->assertTrue(url_tpath::is_group_valid(array()));
|
|||
$this->assertTrue(url_tpath::is_group_valid(array('/**')));
|
|||
$this->assertTrue(url_tpath::is_group_valid(array('/**', '/aa')));
|
|||
$this->assertFalse(url_tpath::is_group_valid(array('/**', '/aa/ů')));
|
|||
$this->assertFalse(url_tpath::is_group_valid(array('aa')));
|
|||
$this->assertFalse(url_tpath::is_group_valid(null));
|
|||
$this->assertFalse(url_tpath::is_group_valid(array(array('/aa'))));
|
|||
}
|
|||
/**
|
|||
* Test for match method.
|
|||
*
|
|||
* @covers url_tpath::match
|
|||
*/
|
|||
public function test_match()
|
|||
{
|
|||
$this->assertTrue(url_tpath::match('/**', '/'));
|
|||
$this->assertTrue(url_tpath::match('/**', '/aa/aa/aa/aa23A-L_1'));
|
|||
$this->assertTrue(url_tpath::match('/aa/*', '/aa'));
|
|||
$this->assertTrue(url_tpath::match('/aa/**', '/aa'));
|
|||
$this->assertTrue(url_tpath::match('/aa3wW_w/**', '/aa3wW_w'));
|
|||
$this->assertTrue(url_tpath::match('/aa/**', '/aa/aa/aa/aa23A-L_1'));
|
|||
$this->assertTrue(url_tpath::match('/aa/*', '/aa/aa'));
|
|||
$this->assertTrue(url_tpath::match('/aa/**', '/aa/aa'));
|
|||
$this->assertFalse(url_tpath::match('/aa/*', '/aa/aa/a'));
|
|||
$this->assertTrue(url_tpath::match('/*/*/*', '/aBa/aa-aa/sssss'));
|
|||
$this->assertTrue(url_tpath::match('/*/*/**', '/aBa/aa-aa/ss_sF3/aa'));
|
|||
// invalid URL template path
|
|||
try {
|
|||
url_tpath::match('aa', '/aa');
|
|||
$this->fail('should throw InvalidArgumentException');
|
|||
} catch (InvalidArgumentException $ex) {
|
|||
}
|
|||
}
|
|||
/**
|
|||
* Test for match method.
|
|||
*
|
|||
* @covers url_tpath::match
|
|||
*/
|
|||
public function test_match_one_of()
|
|||
{
|
|||
$this->assertTrue(url_tpath::match_one_of(array('/a', '/**'), '/'));
|
|||
$this->assertTrue(url_tpath::match_one_of(array('/a3/*', '/*'), '/a3/aa'));
|
|||
$this->assertFalse(url_tpath::match_one_of(array('/a3/*', '/*'), '/a3/aa/a'));
|
|||
// invalid URL template path
|
|||
try {
|
|||
url_tpath::match_one_of(array('aa'), '/aa');
|
|||
$this->fail('should throw InvalidArgumentException');
|
|||
} catch (InvalidArgumentException $ex) {
|
|||
}
|
|||
}
|
|||
}
|