Bug 1358025 - Part 1. Use setUserInput instead of input.value setter. r?pbro
Actually, other browsers (except to Gecko) doesn't create undo history by input.value setter. It only creates user interaction.
devtools tests check enableUndo after using input.value setter. So we should use setUserInput to emulate input instead.
Although input.value setter doesn't generate input event, but setUserInput will generate input event, so we need wait for search request on browser_inspector_search-filter_context-menu.js.
MozReview-Commit-ID: KLiv1J0i5tJ
--- a/devtools/client/inspector/computed/test/browser_computed_search-filter_context-menu.js
+++ b/devtools/client/inspector/computed/test/browser_computed_search-filter_context-menu.js
@@ -52,17 +52,17 @@ add_task(function* () {
is(cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
info("Closing context menu");
let onContextMenuHidden = once(searchContextMenu, "popuphidden");
searchContextMenu.hidePopup();
yield onContextMenuHidden;
info("Copy text in search field using the context menu");
- searchField.value = TEST_INPUT;
+ searchField.setUserInput(TEST_INPUT);
searchField.select();
EventUtils.synthesizeMouse(searchField, 2, 2,
{type: "contextmenu", button: 2}, win);
yield onContextMenuPopup;
yield waitForClipboardPromise(() => cmdCopy.click(), TEST_INPUT);
searchContextMenu.hidePopup();
yield onContextMenuHidden;
--- a/devtools/client/inspector/rules/test/browser_rules_search-filter_context-menu.js
+++ b/devtools/client/inspector/rules/test/browser_rules_search-filter_context-menu.js
@@ -51,17 +51,17 @@ add_task(function* () {
is(cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
info("Closing context menu");
let onContextMenuHidden = once(searchContextMenu, "popuphidden");
searchContextMenu.hidePopup();
yield onContextMenuHidden;
info("Copy text in search field using the context menu");
- searchField.value = TEST_INPUT;
+ searchField.setUserInput(TEST_INPUT);
searchField.select();
EventUtils.synthesizeMouse(searchField, 2, 2,
{type: "contextmenu", button: 2}, win);
yield onContextMenuPopup;
yield waitForClipboardPromise(() => cmdCopy.click(), TEST_INPUT);
searchContextMenu.hidePopup();
yield onContextMenuHidden;
--- a/devtools/client/inspector/test/browser_inspector_search-filter_context-menu.js
+++ b/devtools/client/inspector/test/browser_inspector_search-filter_context-menu.js
@@ -49,17 +49,17 @@ add_task(function* () {
is(cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
info("Closing context menu");
let onContextMenuHidden = once(searchContextMenu, "popuphidden");
searchContextMenu.hidePopup();
yield onContextMenuHidden;
info("Copy text in search field using the context menu");
- searchBox.value = TEST_INPUT;
+ searchBox.setUserInput(TEST_INPUT);
searchBox.select();
searchBox.focus();
EventUtils.synthesizeMouse(searchBox, 2, 2,
{type: "contextmenu", button: 2}, win);
yield onContextMenuPopup;
yield waitForClipboardPromise(() => cmdCopy.click(), TEST_INPUT);
searchContextMenu.hidePopup();
yield onContextMenuHidden;
@@ -70,9 +70,13 @@ add_task(function* () {
yield onContextMenuPopup;
is(cmdUndo.getAttribute("disabled"), "", "cmdUndo is enabled");
is(cmdDelete.getAttribute("disabled"), "", "cmdDelete is enabled");
is(cmdSelectAll.getAttribute("disabled"), "", "cmdSelectAll is enabled");
is(cmdCut.getAttribute("disabled"), "", "cmdCut is enabled");
is(cmdCopy.getAttribute("disabled"), "", "cmdCopy is enabled");
is(cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
+
+ // We have to wait for search query to avoid test failure.
+ info("Waiting for search query to complete and getting the suggestions");
+ yield inspector.searchSuggestions._lastQuery;
});