url_test.php
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· PHP 代码 · 共 88 行
PHP
88 行
<?php
// $Id: url_test.php 1598 2007-12-24 10:44:09Z pp11 $
require_once(dirname(__FILE__) . '/../autorun.php');
require_once(dirname(__FILE__) . '/../url.php');
class TestOfUrl extends UnitTestCase {
function testDefaultUrl() {
$url = new SimpleUrl('');
$this->assertEqual($url->getScheme(), '');
$this->assertEqual($url->getHost(), '');
$this->assertEqual($url->getScheme('http'), 'http');
$this->assertEqual($url->getHost('localhost'), 'localhost');
$this->assertEqual($url->getPath(), '');
}
function testBasicParsing() {
$url = new SimpleUrl('https://www.lastcraft.com/test/');
$this->assertEqual($url->getScheme(), 'https');
$this->assertEqual($url->getHost(), 'www.lastcraft.com');
$this->assertEqual($url->getPath(), '/test/');
}
function testRelativeUrls() {
$url = new SimpleUrl('../somewhere.php');
$this->assertEqual($url->getScheme(), false);
$this->assertEqual($url->getHost(), false);
$this->assertEqual($url->getPath(), '../somewhere.php');
}
function testParseBareParameter() {
$url = new SimpleUrl('?a');
$this->assertEqual($url->getPath(), '');
$this->assertEqual($url->getEncodedRequest(), '?a');
$url->addRequestParameter('x', 'X');
$this->assertEqual($url->getEncodedRequest(), '?a=&x=X');
}
function testParseEmptyParameter() {
$url = new SimpleUrl('?a=');
$this->assertEqual($url->getPath(), '');
$this->assertEqual($url->getEncodedRequest(), '?a=');
$url->addRequestParameter('x', 'X');
$this->assertEqual($url->getEncodedRequest(), '?a=&x=X');
}
function testParseParameterPair() {
$url = new SimpleUrl('?a=A');
$this->assertEqual($url->getPath(), '');
$this->assertEqual($url->getEncodedRequest(), '?a=A');
$url->addRequestParameter('x', 'X');
$this->assertEqual($url->getEncodedRequest(), '?a=A&x=X');
}
function testParseMultipleParameters() {
$url = new SimpleUrl('?a=A&b=B');
$this->assertEqual($url->getEncodedRequest(), '?a=A&b=B');
$url->addRequestParameter('x', 'X');
$this->assertEqual($url->getEncodedRequest(), '?a=A&b=B&x=X');
}
function testParsingParameterMixture() {
$url = new SimpleUrl('?a=A&b=&c');
$this->assertEqual($url->getEncodedRequest(), '?a=A&b=&c');
$url->addRequestParameter('x', 'X');
$this->assertEqual($url->getEncodedRequest(), '?a=A&b=&c=&x=X');
}
function testAddParametersFromScratch() {
$url = new SimpleUrl('');
$url->addRequestParameter('a', 'A');
$this->assertEqual($url->getEncodedRequest(), '?a=A');
$url->addRequestParameter('b', 'B');
$this->assertEqual($url->getEncodedRequest(), '?a=A&b=B');
$url->addRequestParameter('a', 'aaa');
$this->assertEqual($url->getEncodedRequest(), '?a=A&b=B&a=aaa');
}
function testClearingParameters() {
$url = new SimpleUrl('');
$url->addRequestParameter('a', 'A');
$url->clearRequest();
$this->assertIdentical($url->getEncodedRequest(), '');
}
function testEncodingParameters() {
$url = new SimpleUrl('');
$url->addRequestParameter('a', '?!"\'#~@[]{}:;<>,./|
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?