Merge branch 'MDL-29161_21' of git://github.com/timhunt/moodle into MOODLE_21_STABLE

This commit is contained in:
Eloy Lafuente (stronk7)
2012-02-27 22:22:09 +01:00
2 changed files with 26 additions and 1 deletions
+19
View File
@@ -105,6 +105,25 @@ class web_test extends UnitTestCase {
$this->assertEqual(fix_non_standard_entities('£ä'), '£ä');
}
function test_moodle_url_round_trip() {
$strurl = 'http://moodle.org/course/view.php?id=5';
$url = new moodle_url($strurl);
$this->assertEqual($strurl, $url->out(false));
$strurl = 'http://moodle.org/user/index.php?contextid=53&sifirst=M&silast=D';
$url = new moodle_url($strurl);
$this->assertEqual($strurl, $url->out(false));
}
function test_moodle_url_round_trip_array_params() {
$strurl = 'http://example.com/?a%5B1%5D=1&a%5B2%5D=2';
$url = new moodle_url($strurl);
$this->assertEqual($strurl, $url->out(false));
$url = new moodle_url('http://example.com/?a[1]=1&a[2]=2');
$this->assertEqual($strurl, $url->out(false));
}
function test_compare_url() {
$url1 = new moodle_url('index.php', array('var1' => 1, 'var2' => 2));
$url2 = new moodle_url('index2.php', array('var1' => 1, 'var2' => 2, 'var3' => 3));
+7 -1
View File
@@ -494,7 +494,13 @@ class moodle_url {
$params = $this->params;
}
foreach ($params as $key => $val) {
$arr[] = rawurlencode($key)."=".rawurlencode($val);
if (is_array($val)) {
foreach ($val as $index => $value) {
$arr[] = rawurlencode($key.'['.$index.']')."=".rawurlencode($value);
}
} else {
$arr[] = rawurlencode($key)."=".rawurlencode($val);
}
}
if ($escaped) {
return implode('&', $arr);