forked from mirrors/gecko-dev
184 lines
4.6 KiB
JavaScript
184 lines
4.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
const DUMMY = "browser/browser/base/content/test/general/dummy_page.html";
|
|
|
|
function loadNewTab(aURL, aCallback) {
|
|
BrowserTestUtils.openNewForegroundTab(gBrowser, aURL).then(aCallback);
|
|
}
|
|
|
|
function getIdentityMode() {
|
|
return document.getElementById("identity-box").className;
|
|
}
|
|
|
|
var TESTS = [
|
|
function test_webpage() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
|
|
loadNewTab("http://example.com/" + DUMMY, function(aNewTab) {
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_blank() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
|
|
loadNewTab("about:blank", function(aNewTab) {
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_chrome() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
|
|
loadNewTab("chrome://mozapps/content/extensions/extensions.xul", function(aNewTab) {
|
|
is(getIdentityMode(), "fileURI", "Identity should be file");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "fileURI", "Identity should be file");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_https() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
|
|
loadNewTab("https://example.com/" + DUMMY, function(aNewTab) {
|
|
is(getIdentityMode(), "verifiedDomain", "Identity should be verified");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "verifiedDomain", "Identity should be verified");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_addons() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
|
|
loadNewTab("about:addons", function(aNewTab) {
|
|
is(getIdentityMode(), "chromeUI", "Identity should be chrome");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "chromeUI", "Identity should be chrome");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_file() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
let fileURI = getTestFilePath("");
|
|
|
|
loadNewTab(fileURI, function(aNewTab) {
|
|
is(getIdentityMode(), "fileURI", "Identity should be file");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "fileURI", "Identity should be file");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_resource_uri() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
let dataURI = "resource://gre/modules/Services.jsm"
|
|
|
|
loadNewTab(dataURI, function(aNewTab) {
|
|
is(getIdentityMode(), "fileURI", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "fileURI", "Identity should be unknown");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
|
|
function test_data_uri() {
|
|
let oldTab = gBrowser.selectedTab;
|
|
let dataURI = "data:text/html,hi"
|
|
|
|
loadNewTab(dataURI, function(aNewTab) {
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = oldTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.selectedTab = aNewTab;
|
|
is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
|
|
|
|
gBrowser.removeTab(aNewTab);
|
|
|
|
runNextTest();
|
|
});
|
|
},
|
|
];
|
|
|
|
var gTestStart = null;
|
|
|
|
function runNextTest() {
|
|
if (gTestStart)
|
|
info("Test part took " + (Date.now() - gTestStart) + "ms");
|
|
|
|
if (TESTS.length == 0) {
|
|
finish();
|
|
return;
|
|
}
|
|
|
|
info("Running " + TESTS[0].name);
|
|
gTestStart = Date.now();
|
|
TESTS.shift()();
|
|
};
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
runNextTest();
|
|
}
|