diff options
Diffstat (limited to 'devtools/client/inspector/test/browser_inspector_search-07.js')
-rw-r--r-- | devtools/client/inspector/test/browser_inspector_search-07.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/devtools/client/inspector/test/browser_inspector_search-07.js b/devtools/client/inspector/test/browser_inspector_search-07.js new file mode 100644 index 0000000000..e112fca944 --- /dev/null +++ b/devtools/client/inspector/test/browser_inspector_search-07.js @@ -0,0 +1,60 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +// Test that searching for classes on SVG elements does work (see bug 1219920). + +const TEST_URL = URL_ROOT + "doc_inspector_search-svg.html"; + +// An array of (key, suggestions) pairs where key is a key to press and +// suggestions is an array of suggestions that should be shown in the popup. +const TEST_DATA = [ + { + key: "c", + suggestions: ["circle", "clipPath", ".class1", ".class2"], + }, + { + key: "VK_BACK_SPACE", + suggestions: [], + }, + { + key: ".", + suggestions: [".class1", ".class2"], + }, +]; + +add_task(async function () { + const { inspector } = await openInspectorForURL(TEST_URL); + const { searchBox } = inspector; + const popup = inspector.searchSuggestions.searchPopup; + + await focusSearchBoxUsingShortcut(inspector.panelWin); + + for (const { key, suggestions } of TEST_DATA) { + info("Pressing " + key + " to get " + suggestions); + + const command = once(searchBox, "input"); + const onSearchProcessingDone = + inspector.searchSuggestions.once("processing-done"); + EventUtils.synthesizeKey(key, {}, inspector.panelWin); + await command; + + info("Waiting for search query to complete and getting the suggestions"); + await onSearchProcessingDone; + const actualSuggestions = popup.getItems(); + + is( + popup.isOpen ? actualSuggestions.length : 0, + suggestions.length, + "There are expected number of suggestions." + ); + + for (let i = 0; i < suggestions.length; i++) { + is( + actualSuggestions[i].label, + suggestions[i], + "The suggestion at " + i + "th index is correct." + ); + } + } +}); |