diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js')
-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"); +}); |