_("Make sure uri strings are converted to nsIURIs"); Cu.import("resource://services-sync/util.js"); // both the makeURI and makeURL functions are tested // in this file function run_test() { _test_makeURI(); _test_makeURL(); } function _test_makeURI() { _("Check http uris"); let uri1 = "http://mozillalabs.com/"; do_check_eq(Utils.makeURI(uri1).spec, uri1); let uri2 = "http://www.mozillalabs.com/"; do_check_eq(Utils.makeURI(uri2).spec, uri2); let uri3 = "http://mozillalabs.com/path"; do_check_eq(Utils.makeURI(uri3).spec, uri3); let uri4 = "http://mozillalabs.com/multi/path"; do_check_eq(Utils.makeURI(uri4).spec, uri4); let uri5 = "http://mozillalabs.com/?query"; do_check_eq(Utils.makeURI(uri5).spec, uri5); let uri6 = "http://mozillalabs.com/#hash"; do_check_eq(Utils.makeURI(uri6).spec, uri6); _("Check https uris"); let uris1 = "https://mozillalabs.com/"; do_check_eq(Utils.makeURI(uris1).spec, uris1); let uris2 = "https://www.mozillalabs.com/"; do_check_eq(Utils.makeURI(uris2).spec, uris2); let uris3 = "https://mozillalabs.com/path"; do_check_eq(Utils.makeURI(uris3).spec, uris3); let uris4 = "https://mozillalabs.com/multi/path"; do_check_eq(Utils.makeURI(uris4).spec, uris4); let uris5 = "https://mozillalabs.com/?query"; do_check_eq(Utils.makeURI(uris5).spec, uris5); let uris6 = "https://mozillalabs.com/#hash"; do_check_eq(Utils.makeURI(uris6).spec, uris6); _("Check chrome uris"); let uric1 = "chrome://browser/content/browser.xul"; do_check_eq(Utils.makeURI(uric1).spec, uric1); let uric2 = "chrome://browser/skin/browser.css"; do_check_eq(Utils.makeURI(uric2).spec, uric2); let uric3 = "chrome://browser/locale/browser.dtd"; do_check_eq(Utils.makeURI(uric3).spec, uric3); _("Check about uris"); let uria1 = "about:weave"; do_check_eq(Utils.makeURI(uria1).spec, uria1); let uria2 = "about:weave/"; do_check_eq(Utils.makeURI(uria2).spec, uria2); let uria3 = "about:weave/path"; do_check_eq(Utils.makeURI(uria3).spec, uria3); let uria4 = "about:weave/multi/path"; do_check_eq(Utils.makeURI(uria4).spec, uria4); let uria5 = "about:weave/?query"; do_check_eq(Utils.makeURI(uria5).spec, uria5); let uria6 = "about:weave/#hash"; do_check_eq(Utils.makeURI(uria6).spec, uria6); _("Invalid uris are undefined"); do_check_eq(Utils.makeURI("mozillalabs.com"), undefined); do_check_eq(Utils.makeURI("chrome://badstuff"), undefined); do_check_eq(Utils.makeURI("this is a test"), undefined); } function _test_makeURL() { _("Check http uri"); let uri = "http://mozillalabs.com/"; do_check_true(Utils.makeURL(uri) instanceof Ci.nsIURL); _("Check https uri"); let uris = "https://mozillalabs.com/"; do_check_true(Utils.makeURL(uris) instanceof Ci.nsIURL); let uric = "chrome://browser/content/browser.xul"; do_check_true(Utils.makeURL(uric) instanceof Ci.nsIURL); _("Check about uri"); let uria = "about:weave"; let except1; try { Utils.makeURL(uria); } catch(e) { except1 = e; } do_check_true(!!except1); _("Check invalid uri"); let except2; try { Utils.makeURL("mozillalabs.com"); } catch(e) { except2 = e; } do_check_true(!!except2); }