mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
139 lines
3.5 KiB
JavaScript
139 lines
3.5 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) {
|
|
gBrowser.selectedTab = gBrowser.addTab();
|
|
gBrowser.loadURI(aURL);
|
|
|
|
gBrowser.selectedBrowser.addEventListener("load", function() {
|
|
if (gBrowser.selectedBrowser.currentURI.spec != aURL)
|
|
return;
|
|
gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
|
|
|
|
aCallback(gBrowser.selectedTab);
|
|
}, true);
|
|
}
|
|
|
|
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;
|
|
|
|
// Since users aren't likely to type in full chrome URLs, we won't show
|
|
// the positive security indicator on it, but we will show it on about:addons.
|
|
loadNewTab("chrome://mozapps/content/extensions/extensions.xul", 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_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();
|
|
});
|
|
}
|
|
];
|
|
|
|
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();
|
|
}
|