MDL-41806 Add assessors to moodle_url class

New assessors for scheme, host and port.
This commit is contained in:
Simon Coggins 2013-09-16 16:14:29 +12:00
parent 83f26f6407
commit d06ffbdf2d
2 changed files with 63 additions and 0 deletions

View File

@ -320,6 +320,36 @@ class core_weblib_testcase extends advanced_testcase {
$url4->out_as_local_url();
}
public function test_moodle_url_get_scheme() {
// Should return the scheme only.
$url = new moodle_url('http://www.example.org:447/my/file/is/here.txt?really=1');
$this->assertSame('http', $url->get_scheme());
// Should work for secure URLs.
$url = new moodle_url('https://www.example.org:447/my/file/is/here.txt?really=1');
$this->assertSame('https', $url->get_scheme());
// Should return an empty string if no scheme is specified.
$url = new moodle_url('www.example.org:447/my/file/is/here.txt?really=1');
$this->assertSame('', $url->get_scheme());
}
public function test_moodle_url_get_host() {
// Should return the host part only.
$url = new moodle_url('http://www.example.org:447/my/file/is/here.txt?really=1');
$this->assertSame('www.example.org', $url->get_host());
}
public function test_moodle_url_get_port() {
// Should return the port if one provided.
$url = new moodle_url('http://www.example.org:447/my/file/is/here.txt?really=1');
$this->assertSame(447, $url->get_port());
// Should return an empty string if port not specified.
$url = new moodle_url('http://www.example.org/some/path/here.php');
$this->assertSame('', $url->get_port());
}
public function test_clean_text() {
$text = "lala <applet>xx</applet>";
$this->assertSame($text, clean_text($text, FORMAT_PLAIN));

View File

@ -822,6 +822,39 @@ class moodle_url {
return null;
}
}
/**
* Returns the 'scheme' portion of a URL. For example, if the URL is
* http://www.example.org:447/my/file/is/here.txt?really=1 then this will
* return 'http' (without the colon).
*
* @return string Scheme of the URL.
*/
public function get_scheme() {
return $this->scheme;
}
/**
* Returns the 'host' portion of a URL. For example, if the URL is
* http://www.example.org:447/my/file/is/here.txt?really=1 then this will
* return 'www.example.org'.
*
* @return string Host of the URL.
*/
public function get_host() {
return $this->host;
}
/**
* Returns the 'port' portion of a URL. For example, if the URL is
* http://www.example.org:447/my/file/is/here.txt?really=1 then this will
* return '447'.
*
* @return string Port of the URL.
*/
public function get_port() {
return $this->port;
}
}
/**