73 lines
2 KiB
JavaScript
73 lines
2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const TEST_PAGE_URL = URL_ROOT + "page_dom_nodes.html";
|
|
|
|
/**
|
|
* Checks that hovering nodes highlights them in the content page
|
|
*/
|
|
add_task(async function () {
|
|
info("Test DOM panel node highlight started");
|
|
|
|
const { panel, tab } = await addTestTab(TEST_PAGE_URL);
|
|
const toolbox = gDevTools.getToolboxForTab(tab);
|
|
const highlighter = toolbox.getHighlighter();
|
|
|
|
const tests = [
|
|
{
|
|
expected: "h1",
|
|
getNode: async () => {
|
|
return getRowByIndex(panel, 0).querySelector(".objectBox-node");
|
|
},
|
|
},
|
|
{
|
|
expected: "h2",
|
|
getNode: async () => {
|
|
info("Expand specified row and wait till children are displayed");
|
|
await expandRow(panel, "B");
|
|
return getRowByIndex(panel, 1).querySelector(".objectBox-node");
|
|
},
|
|
},
|
|
];
|
|
|
|
for (const test of tests) {
|
|
info(`Get the NodeFront for ${test.expected}`);
|
|
const node = await test.getNode();
|
|
|
|
info("Highlight the node by moving the cursor on it");
|
|
const onHighlighterShown = highlighter.waitForHighlighterShown();
|
|
EventUtils.synthesizeMouseAtCenter(
|
|
node,
|
|
{
|
|
type: "mouseover",
|
|
},
|
|
node.ownerDocument.defaultView
|
|
);
|
|
const { nodeFront } = await onHighlighterShown;
|
|
is(
|
|
nodeFront.displayName,
|
|
test.expected,
|
|
"The correct node was highlighted"
|
|
);
|
|
|
|
info("Unhighlight the node by moving the cursor away from it");
|
|
const onHighlighterHidden = highlighter.waitForHighlighterHidden();
|
|
const btn = toolbox.doc.querySelector("#toolbox-meatball-menu-button");
|
|
EventUtils.synthesizeMouseAtCenter(
|
|
btn,
|
|
{
|
|
type: "mouseover",
|
|
},
|
|
btn.ownerDocument.defaultView
|
|
);
|
|
|
|
const { nodeFront: unhighlightedNode } = await onHighlighterHidden;
|
|
is(
|
|
unhighlightedNode.displayName,
|
|
test.expected,
|
|
"The node was unhighlighted"
|
|
);
|
|
}
|
|
});
|