/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ /* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; // Testing that when search results contain suggestions for nodes in other // frames, selecting these suggestions actually selects the right nodes. requestLongerTimeout(2); const IFRAME_SRC = "doc_inspector_search.html"; const NESTED_IFRAME_SRC = ` `; const TEST_URL = ` `; add_task(function* () { let {inspector} = yield openInspectorForURL( "data:text/html;charset=utf-8," + encodeURI(TEST_URL)); info("Focus the search box"); yield focusSearchBoxUsingShortcut(inspector.panelWin); info("Enter # to search for all ids"); let processingDone = once(inspector.searchSuggestions, "processing-done"); EventUtils.synthesizeKey("#", {}, inspector.panelWin); yield processingDone; info("Wait for search query to complete"); yield inspector.searchSuggestions._lastQuery; info("Press tab to fill the search input with the first suggestion"); processingDone = once(inspector.searchSuggestions, "processing-done"); EventUtils.synthesizeKey("VK_TAB", {}, inspector.panelWin); yield processingDone; info("Press enter and expect a new selection"); let onSelect = inspector.once("inspector-updated"); EventUtils.synthesizeKey("VK_RETURN", {}, inspector.panelWin); yield onSelect; yield checkCorrectButton(inspector, "#iframe-1"); info("Press enter to cycle through multiple nodes matching this suggestion"); onSelect = inspector.once("inspector-updated"); EventUtils.synthesizeKey("VK_RETURN", {}, inspector.panelWin); yield onSelect; yield checkCorrectButton(inspector, "#iframe-2"); info("Press enter to cycle through multiple nodes matching this suggestion"); onSelect = inspector.once("inspector-updated"); EventUtils.synthesizeKey("VK_RETURN", {}, inspector.panelWin); yield onSelect; yield checkCorrectButton(inspector, "#iframe-3"); info("Press enter to cycle through multiple nodes matching this suggestion"); onSelect = inspector.once("inspector-updated"); EventUtils.synthesizeKey("VK_RETURN", {}, inspector.panelWin); yield onSelect; yield checkCorrectButton(inspector, "#iframe-4"); info("Press enter to cycle through multiple nodes matching this suggestion"); onSelect = inspector.once("inspector-updated"); EventUtils.synthesizeKey("VK_RETURN", {}, inspector.panelWin); yield onSelect; yield checkCorrectButton(inspector, "#iframe-1"); }); let checkCorrectButton = Task.async(function* (inspector, frameSelector) { let {walker} = inspector; let node = inspector.selection.nodeFront; ok(node.id, "b1", "The selected node is #b1"); ok(node.tagName.toLowerCase(), "button", "The selected node is