Skip to content

Commit

Permalink
MDL-41806 Add assessors to moodle_url class
Browse files Browse the repository at this point in the history
New assessors for scheme, host and port.
  • Loading branch information
simoncoggins committed Sep 16, 2013
1 parent 83f26f6 commit d06ffbd
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
30 changes: 30 additions & 0 deletions lib/tests/weblib_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,36 @@ public function test_https_out_as_local_url_error() {
$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));
Expand Down
33 changes: 33 additions & 0 deletions lib/weblib.php
Original file line number Diff line number Diff line change
Expand Up @@ -822,6 +822,39 @@ public function get_param($name) {
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;
}
}

/**
Expand Down

0 comments on commit d06ffbd

Please sign in to comment.