summaryrefslogtreecommitdiffstats
path: root/netwerk/test/unit/test_compareURIs.js
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/test/unit/test_compareURIs.js')
-rw-r--r--netwerk/test/unit/test_compareURIs.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/netwerk/test/unit/test_compareURIs.js b/netwerk/test/unit/test_compareURIs.js
new file mode 100644
index 000000000..8e68fc6a4
--- /dev/null
+++ b/netwerk/test/unit/test_compareURIs.js
@@ -0,0 +1,49 @@
+Components.utils.import("resource://gre/modules/NetUtil.jsm");
+
+function do_info(text, stack) {
+ if (!stack)
+ stack = Components.stack.caller;
+
+ dump("TEST-INFO | " + stack.filename + " | [" + stack.name + " : " +
+ stack.lineNumber + "] " + text + "\n");
+}
+function run_test()
+{
+ var tests = [
+ [ "http://mozilla.org/", "http://mozilla.org/somewhere/there", true ],
+ [ "http://mozilla.org/", "http://www.mozilla.org/", false ],
+ [ "http://mozilla.org/", "http://mozilla.org:80", true ],
+ [ "http://mozilla.org/", "http://mozilla.org:90", false ],
+ [ "http://mozilla.org", "https://mozilla.org", false ],
+ [ "http://mozilla.org", "https://mozilla.org:80", false ],
+ [ "http://mozilla.org:443", "https://mozilla.org", false ],
+ [ "https://mozilla.org:443", "https://mozilla.org", true ],
+ [ "https://mozilla.org:443", "https://mozilla.org/somewhere/", true ],
+ [ "about:", "about:", false ],
+ [ "data:text/plain,text", "data:text/plain,text", false ],
+ [ "about:blank", "about:blank", false ],
+ [ "about:", "http://mozilla.org/", false ],
+ [ "about:", "about:config", false ],
+ [ "about:text/plain,text", "data:text/plain,text", false ],
+ [ "jar:http://mozilla.org/!/", "http://mozilla.org/", true ],
+ [ "view-source:http://mozilla.org/", "http://mozilla.org/", true ]
+ ];
+
+ var secman = Components.classes["@mozilla.org/scriptsecuritymanager;1"].getService(Components.interfaces.nsIScriptSecurityManager);
+
+ tests.forEach(function(aTest) {
+ do_info("Comparing " + aTest[0] + " to " + aTest[1]);
+
+ var uri1 = NetUtil.newURI(aTest[0]);
+ var uri2 = NetUtil.newURI(aTest[1]);
+
+ var equal;
+ try {
+ secman.checkSameOriginURI(uri1, uri2, false);
+ equal = true;
+ } catch (e) {
+ equal = false
+ }
+ do_check_eq(equal, aTest[2]);
+ });
+}