fune/browser/base/content/test/urlbar/browser_canonizeURL.js
Masayuki Nakano cf83ee7bb4 Bug 1438157 - part 2: Remove unnecessary second argument of EventUtils.synthesizeKey() r=smaug
Note that this patch also replaces legacy VK_* with KEY_*, and replaces
synthesizeKey() for inputting some characters with sendString() because
it's better and clearer what it does and it sets shiftKey state properly.

MozReview-Commit-ID: De4enbjux3T

--HG--
extra : rebase_source : 2296b84bff8e22f01eeb48cd8614fac5db11136a
2018-02-15 04:15:39 +09:00

42 lines
2 KiB
JavaScript

add_task(async function() {
let testcases = [
["example", "http://www.example.net/", { shiftKey: true }],
// Check that a direct load is not overwritten by a previous canonization.
["http://example.com/test/", "http://example.com/test/", {}],
["ex-ample", "http://www.ex-ample.net/", { shiftKey: true }],
[" example ", "http://www.example.net/", { shiftKey: true }],
[" example/foo ", "http://www.example.net/foo", { shiftKey: true }],
[" example/foo bar ", "http://www.example.net/foo%20bar", { shiftKey: true }],
["example.net", "http://example.net/", { shiftKey: true }],
["http://example", "http://example/", { shiftKey: true }],
["example:8080", "http://example:8080/", { shiftKey: true }],
["ex-ample.foo", "http://ex-ample.foo/", { shiftKey: true }],
["example.foo/bar ", "http://example.foo/bar", { shiftKey: true }],
["1.1.1.1", "http://1.1.1.1/", { shiftKey: true }],
["ftp://example", "ftp://example/", { shiftKey: true }],
["ftp.example.bar", "http://ftp.example.bar/", { shiftKey: true }],
["ex ample", Services.search.defaultEngine.getSubmission("ex ample", null, "keyword").uri.spec, { shiftKey: true }],
];
// Disable autoFill for this test, since it could mess up the results.
let autoFill = Preferences.get("browser.urlbar.autoFill");
Preferences.set("browser.urlbar.autoFill", false);
registerCleanupFunction(() => {
Preferences.set("browser.urlbar.autoFill", autoFill);
});
for (let [inputValue, expectedURL, options] of testcases) {
let promiseLoad = waitForDocLoadAndStopIt(expectedURL);
gURLBar.focus();
if (Object.keys(options).length > 0) {
gURLBar.selectionStart = gURLBar.selectionEnd =
gURLBar.inputField.value.length;
gURLBar.inputField.value = inputValue.slice(0, -1);
EventUtils.sendString(inputValue.slice(-1));
} else {
gURLBar.textValue = inputValue;
}
EventUtils.synthesizeKey("KEY_Enter", options);
await promiseLoad;
}
});