fune/browser/base/content/test/urlbar/browser_URLBarSetURI.js
Dave Townsend 8de07a19a0 Bug 1316882: Turn on space-before-function-paren eslint rule (browser). r=jaws
MozReview-Commit-ID: 2ZvTiZDHchz

--HG--
extra : rebase_source : db6482481b7338df491afd6f6fd376eccec84d7e
2016-11-11 08:10:51 -08:00

100 lines
3 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
waitForExplicitFinish();
// avoid prompting about phishing
Services.prefs.setIntPref(phishyUserPassPref, 32);
registerCleanupFunction(function() {
Services.prefs.clearUserPref(phishyUserPassPref);
});
nextTest();
}
const phishyUserPassPref = "network.http.phishy-userpass-length";
function nextTest() {
let test = tests.shift();
if (test) {
test(function() {
executeSoon(nextTest);
});
} else {
executeSoon(finish);
}
}
var tests = [
function revert(next) {
loadTabInWindow(window, function(tab) {
gURLBar.handleRevert();
is(gURLBar.textValue, "example.com", "URL bar had user/pass stripped after reverting");
gBrowser.removeTab(tab);
next();
});
},
function customize(next) {
// Need to wait for delayedStartup for the customization part of the test,
// since that's where BrowserToolboxCustomizeDone is set.
BrowserTestUtils.openNewBrowserWindow().then(function(win) {
loadTabInWindow(win, function() {
openToolbarCustomizationUI(function() {
closeToolbarCustomizationUI(function() {
is(win.gURLBar.textValue, "example.com", "URL bar had user/pass stripped after customize");
win.close();
next();
}, win);
}, win);
});
});
},
function pageloaderror(next) {
loadTabInWindow(window, function(tab) {
// Load a new URL and then immediately stop it, to simulate a page load
// error.
tab.linkedBrowser.loadURI("http://test1.example.com");
tab.linkedBrowser.stop();
is(gURLBar.textValue, "example.com", "URL bar had user/pass stripped after load error");
gBrowser.removeTab(tab);
next();
});
}
];
function loadTabInWindow(win, callback) {
info("Loading tab");
let url = "http://user:pass@example.com/";
let tab = win.gBrowser.selectedTab = win.gBrowser.addTab(url);
BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, url).then(() => {
info("Tab loaded");
is(win.gURLBar.textValue, "example.com", "URL bar had user/pass stripped initially");
callback(tab);
}, true);
}
function openToolbarCustomizationUI(aCallback, aBrowserWin) {
if (!aBrowserWin)
aBrowserWin = window;
aBrowserWin.gCustomizeMode.enter();
aBrowserWin.gNavToolbox.addEventListener("customizationready", function UI_loaded() {
aBrowserWin.gNavToolbox.removeEventListener("customizationready", UI_loaded);
executeSoon(function() {
aCallback(aBrowserWin)
});
});
}
function closeToolbarCustomizationUI(aCallback, aBrowserWin) {
aBrowserWin.gNavToolbox.addEventListener("aftercustomization", function unloaded() {
aBrowserWin.gNavToolbox.removeEventListener("aftercustomization", unloaded);
executeSoon(aCallback);
});
aBrowserWin.gCustomizeMode.exit();
}