diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /devtools/client/inspector/test/browser_inspector_keyboard-shortcuts.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/inspector/test/browser_inspector_keyboard-shortcuts.js')
-rw-r--r-- | devtools/client/inspector/test/browser_inspector_keyboard-shortcuts.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/devtools/client/inspector/test/browser_inspector_keyboard-shortcuts.js b/devtools/client/inspector/test/browser_inspector_keyboard-shortcuts.js new file mode 100644 index 0000000000..d4e1ee5631 --- /dev/null +++ b/devtools/client/inspector/test/browser_inspector_keyboard-shortcuts.js @@ -0,0 +1,54 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +// Tests that the keybindings for highlighting different elements work as +// intended. + +const TEST_URI = + "data:text/html;charset=utf-8," + + "<html><head><title>Test for the highlighter keybindings</title></head>" + + "<body><p><strong>Greetings, earthlings!</strong>" + + " I come in peace.</p></body></html>"; + +const TEST_DATA = [ + { key: "KEY_ArrowLeft", selectedNode: "p" }, + { key: "KEY_ArrowLeft", selectedNode: "body" }, + { key: "KEY_ArrowLeft", selectedNode: "html" }, + { key: "KEY_ArrowRight", selectedNode: "body" }, + { key: "KEY_ArrowRight", selectedNode: "p" }, + { key: "KEY_ArrowRight", selectedNode: "strong" }, +]; + +add_task(async function () { + const { inspector } = await openInspectorForURL(TEST_URI); + + info("Selecting the deepest element to start with"); + await selectNode("strong", inspector); + + const nodeFront = await getNodeFront("strong", inspector); + is( + inspector.selection.nodeFront, + nodeFront, + "<strong> should be selected initially" + ); + + info("Focusing the currently active breadcrumb button"); + const bc = inspector.breadcrumbs; + bc.nodeHierarchy[bc.currentIndex].button.focus(); + + for (const { key, selectedNode } of TEST_DATA) { + info("Pressing " + key + " to select " + selectedNode); + + const updated = inspector.once("inspector-updated"); + EventUtils.synthesizeKey(key); + await updated; + + const selectedNodeFront = await getNodeFront(selectedNode, inspector); + is( + inspector.selection.nodeFront, + selectedNodeFront, + selectedNode + " is selected." + ); + } +}); |