Index: openacs-4/packages/acs-tcl/tcl/test/acs-tcl-test-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/test/acs-tcl-test-procs.tcl,v diff -u -r1.71.2.41 -r1.71.2.42 --- openacs-4/packages/acs-tcl/tcl/test/acs-tcl-test-procs.tcl 1 Jul 2021 10:36:45 -0000 1.71.2.41 +++ openacs-4/packages/acs-tcl/tcl/test/acs-tcl-test-procs.tcl 1 Jul 2021 13:52:11 -0000 1.71.2.42 @@ -895,11 +895,18 @@ @creation-date 2004-01-10 @author Branimir Dolicki (bdolicki@branimir.com) } { + # + # Valid URLs + # foreach url { + "http://la.la" + "https://la.la" + "https://a.a" "http://example.com" "https://example.com" "ftp://example.com" "http://example.com/" + "http://example.com/index.html" "HTTP://example.com" "http://example.com/foo/bar/blah" "http://example.com?foo=bar&bar=foo" @@ -940,15 +947,17 @@ "http://a.b-c.de" "http://223.255.255.254" } { - aa_true "Valid web URL $url" [util_url_valid_p "$url"] + aa_true "Valid web URL $url" [util_url_valid_p "$url"] + aa_true "Valid web URL $url (relative allowed)" [util_url_valid_p -relative "$url"] } + # + # Invalid URLs + # foreach url { "xhttp://example.com" "httpx://example.com" "wysiwyg://example.com" "mailto:joe@example.com" - "foo" - "/foo/bar" "http://" "http://." "http://.." @@ -965,7 +974,6 @@ "///a" "///" "http:///a" - "foo.com" "rdar://1234" "h://test" "http:// shouldfail.com" @@ -974,9 +982,40 @@ "ftps://foo.bar/" "http://.www.foo.bar/" "http://.www.foo.bar./" + "la la la" } { - aa_false "Invalid web URL $url" [util_url_valid_p "$url"] + aa_false "Invalid web URL $url" [util_url_valid_p "$url"] + aa_false "Invalid web URL $url (relative allowed)" [util_url_valid_p -relative "$url"] } + # + # Relative URLs + # + foreach url { + "/" + "foo" + "/foo/" + "/foo/bar" + "/foo/bar/" + "/foo/bar/lol.html" + "/foo.bar/?q=Test%20URL-encoded%20stuff" + "foo.com" + "foo.com/bar/lol" + "/foo.com/bar/lol" + "/مثال.إختبار" + "/例子.测试" + "/उदाहरण.परीक्षा" + "/-.~_!$&'()*+,;=:%40:80%2f::::::@example.com" + "foo.bar/?q=Test%20URL-encoded%20stuff" + "مثال.إختبار" + "例子.测试" + "उदाहरण.परीक्षा" + "-.~_!$&'()*+,;=:%40:80%2f::::::@example.com" + "no-protocol" + "/relative" + } { + aa_false "Invalid web URL $url" [util_url_valid_p "$url"] + aa_true "Valid web URL $url (relative allowed)" [util_url_valid_p -relative "$url"] + } }