/* 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"
);
}
});
quality 98%
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland