mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 05:39:41 +02:00
MozReview-Commit-ID: FxZjLTZKISw --HG-- extra : rebase_source : 37dee526b4209ff4f74e9f89d7e3e041a6094710
47 lines
1.7 KiB
JavaScript
47 lines
1.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Unit tests for tabbrowser._isLocalAboutURI to make sure it returns the
|
|
* appropriate values for various URIs as well as optional resolved URI.
|
|
*/
|
|
|
|
add_task(function test_URI() {
|
|
const check = (spec, expect, description) => {
|
|
const URI = Services.io.newURI(spec);
|
|
try {
|
|
is(gBrowser._isLocalAboutURI(URI), expect, description);
|
|
} catch (ex) {
|
|
ok(false, "_isLocalAboutURI should not throw");
|
|
}
|
|
};
|
|
check("https://www.mozilla.org/", false, "https is not about");
|
|
check("http://www.mozilla.org/", false, "http is not about");
|
|
check("about:blank", true, "about:blank is local");
|
|
check("about:about", true, "about:about is local");
|
|
check("about:newtab", true, "about:newtab is local");
|
|
check("about:random-invalid-uri", false,
|
|
"about:random-invalid-uri is invalid but should not throw");
|
|
});
|
|
|
|
add_task(function test_URI_with_resolved() {
|
|
const check = (spec, resolvedSpec, expect, description) => {
|
|
const URI = Services.io.newURI(spec);
|
|
const resolvedURI = Services.io.newURI(resolvedSpec);
|
|
is(gBrowser._isLocalAboutURI(URI, resolvedURI), expect, description);
|
|
};
|
|
check("about:newtab",
|
|
"jar:file:///Applications/Firefox.app/Contents/Resources/browser/features/activity-stream@mozilla.org.xpi!/chrome/content/data/content/activity-stream.html",
|
|
true,
|
|
"about:newtab with jar is local");
|
|
check("about:newtab",
|
|
"file:///mozilla-central/browser/base/content/newtab/newTab.xhtml",
|
|
true,
|
|
"about:newtab with file is local");
|
|
check("about:newtab",
|
|
"https://www.mozilla.org/newtab",
|
|
false,
|
|
"about:newtab with https is not local");
|
|
});
|