fune/browser/base/content/test/urlbar/browser_autocomplete_edit_completed.js
2016-08-02 18:00:26 -07:00

48 lines
1.4 KiB
JavaScript

add_task(function*() {
yield PlacesTestUtils.clearHistory();
yield PlacesTestUtils.addVisits([
{ uri: makeURI("http://example.com/foo") },
{ uri: makeURI("http://example.com/foo/bar") },
]);
registerCleanupFunction(function* () {
yield PlacesTestUtils.clearHistory();
});
gBrowser.selectedTab = gBrowser.addTab("about:blank");
gURLBar.focus();
yield promiseAutocompleteResultPopup("http://example.com");
let popup = gURLBar.popup;
let list = popup.richlistbox;
let initialIndex = list.selectedIndex;
info("Key Down to select the next item.");
EventUtils.synthesizeKey("VK_DOWN", {});
let nextIndex = initialIndex + 1;
let nextValue = gURLBar.controller.getFinalCompleteValueAt(nextIndex);
is(list.selectedIndex, nextIndex, "The next item is selected.");
is(gURLBar.value, nextValue, "The selected URL is completed.");
info("Press backspace");
EventUtils.synthesizeKey("VK_BACK_SPACE", {});
yield promiseSearchComplete();
let editedValue = gURLBar.textValue;
is(list.selectedIndex, initialIndex, "The initial index is selected again.");
isnot(editedValue, nextValue, "The URL has changed.");
let docLoad = waitForDocLoadAndStopIt("http://" + editedValue);
info("Press return to load edited URL.");
EventUtils.synthesizeKey("VK_RETURN", {});
yield Promise.all([
promisePopupHidden(gURLBar.popup),
docLoad,
]);
gBrowser.removeTab(gBrowser.selectedTab);
});