*/
function test_clean_param()
{
+ global $CFG;
// Test unknown parameter type
// Test Raw param
$this->assertEqual(clean_param('#()*#,9789\'".,<42897></?$(*DSFMO#$*)(SDJ)($*)', PARAM_CLEAN),
'#()*#,9789\\\'\".,');
-
+
+ // Test PARAM_URL and PARAM_LOCALURL a bit
+ $this->assertEqual(clean_param('http://google.com/', PARAM_URL), 'http://google.com/');
+ $this->assertEqual(clean_param('http://some.very.long.and.silly.domain/with/a/path/', PARAM_URL), 'http://some.very.long.and.silly.domain/with/a/path/');
+ $this->assertEqual(clean_param('http://localhost/', PARAM_URL), 'http://localhost/');
+ $this->assertEqual(clean_param('http://0.255.1.1/numericip.php', PARAM_URL), 'http://0.255.1.1/numericip.php');
+ $this->assertEqual(clean_param('/just/a/path', PARAM_URL), '/just/a/path');
+ $this->assertEqual(clean_param('funny:thing', PARAM_URL), '');
+
+ $this->assertEqual(clean_param('http://google.com/', PARAM_LOCALURL), '');
+ $this->assertEqual(clean_param('http://some.very.long.and.silly.domain/with/a/path/', PARAM_LOCALURL), '');
+ $this->assertEqual(clean_param($CFG->wwwroot, PARAM_LOCALURL), $CFG->wwwroot);
+ $this->assertEqual(clean_param('/just/a/path', PARAM_LOCALURL), '/just/a/path');
+ $this->assertEqual(clean_param('funny:thing', PARAM_LOCALURL), '');
}
function test_make_user_directory() {