fune/browser/base/content/test/general/browser_bug590206.js
2015-07-28 14:48:42 -07:00

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();
}