add_task(async function test() { // Test both directly setting a value and pressing enter, or setting the // value through input events, like the user would do. const setValueFns = [
(value, win) => {
win.gURLBar.value = value;
},
(value, win) => { return UrlbarTestUtils.promiseAutocompleteResultPopup({
window: win,
waitForFocus: SimpleTest.waitForFocus,
value,
});
},
];
for (let value of ["foo bar", "brokenprotocol:somethingelse"]) { for (let setValueFn of setValueFns) { for (let inPrivateWindow of [false, true]) {
await do_test(value, setValueFn, inPrivateWindow);
}
}
}
});
async function do_test(value, setValueFn, inPrivateWindow) {
info(`Search ${value} in a ${inPrivateWindow ? "private" : "normal"} window`);
let win = await BrowserTestUtils.openNewBrowserWindow({ private: inPrivateWindow,
}); // Enter search terms and start a search.
win.gURLBar.focus();
await setValueFn(value, win);
EventUtils.synthesizeKey("KEY_Enter", {}, win);
// Check that we load the correct URL.
let escapedValue = encodeURIComponent(value).replace("%20", "+");
let searchEngineUrl = inPrivateWindow
? kPrivateSearchEngineURL
: kSearchEngineURL;
let expectedURL = searchEngineUrl.replace("{searchTerms}", escapedValue);
await BrowserTestUtils.browserLoaded(
win.gBrowser.selectedBrowser, false,
expectedURL
); // There should be at least one test. Assert.equal(
win.gBrowser.selectedBrowser.currentURI.spec,
expectedURL, "New tab should have loaded with expected url."
);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.