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_highlighter-hover_03.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 '')
-rw-r--r-- | devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js b/devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js new file mode 100644 index 0000000000..0cd7461bea --- /dev/null +++ b/devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js @@ -0,0 +1,60 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test that once a node has been hovered over and marked as such, if it is +// navigated away using the keyboard, the highlighter moves to the new node, and +// if it is then navigated back to, it is briefly highlighted again + +const TEST_PAGE = + "data:text/html;charset=utf-8," + '<p id="one">one</p><p id="two">two</p>'; + +add_task(async function () { + const { inspector } = await openInspectorForURL(TEST_PAGE); + const { waitForHighlighterTypeShown } = getHighlighterTestHelpers(inspector); + + info("Making sure the markup-view frame is focused"); + inspector.markup._frame.focus(); + + let highlightedNode = null; + + async function isHighlighting(selector, desc) { + const nodeFront = await getNodeFront(selector, inspector); + is(highlightedNode, nodeFront, desc); + } + + async function waitForHighlighterShown() { + const onShownData = await waitForHighlighterTypeShown( + inspector.highlighters.TYPES.BOXMODEL + ); + highlightedNode = onShownData.nodeFront; + } + + async function waitForInspectorUpdated() { + await inspector.once("inspector-updated"); + } + + info("Hover over <p#one> line in the markup-view"); + let onShown = waitForHighlighterShown(); + await hoverContainer("#one", inspector); + await onShown; + await isHighlighting("#one", "<p#one> is highlighted"); + + info("Navigate to <p#two> with the keyboard"); + let onUpdated = waitForInspectorUpdated(); + EventUtils.synthesizeKey("VK_DOWN", {}, inspector.panelWin); + await onUpdated; + onUpdated = waitForInspectorUpdated(); + onShown = waitForHighlighterShown(); + EventUtils.synthesizeKey("VK_DOWN", {}, inspector.panelWin); + await Promise.all([onShown, onUpdated]); + await isHighlighting("#two", "<p#two> is highlighted"); + + info("Navigate back to <p#one> with the keyboard"); + onUpdated = waitForInspectorUpdated(); + onShown = waitForHighlighterShown(); + EventUtils.synthesizeKey("VK_UP", {}, inspector.panelWin); + await Promise.all([onShown, onUpdated]); + await isHighlighting("#one", "<p#one> is highlighted again"); +}); |