Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test toggling (expand/collapse) elements by alt-clicking on twisties, which
// should expand/collapse all the descendants
const TEST_URL = URL_ROOT + "doc_markup_toggle.html";
add_task(async function () {
const { inspector } = await openInspectorForURL(TEST_URL);
info("Getting the container for the UL parent element");
const container = await getContainerForSelector("ul", inspector);
info("Alt-clicking on collapsed expander should expand all children");
await toggleContainerByClick(inspector, container, { altKey: true });
info("Checking that all nodes exist and are expanded");
let nodeFronts = await getNodeFronts(inspector);
for (const nodeFront of nodeFronts) {
const nodeContainer = getContainerForNodeFront(nodeFront, inspector);
ok(nodeContainer, "Container for node " + nodeFront.tagName + " exists");
ok(
nodeContainer.expanded,
"Container for node " + nodeFront.tagName + " is expanded"
);
}
info("Alt-clicking on expanded expander should collapse all children");
await toggleContainerByClick(inspector, container, { altKey: true });
info("Checking that all nodes are collapsed");
nodeFronts = await getNodeFronts(inspector);
for (const nodeFront of nodeFronts) {
const nodeContainer = getContainerForNodeFront(nodeFront, inspector);
ok(
!nodeContainer.expanded,
"Container for node " + nodeFront.tagName + " is collapsed"
);
}
});
async function getNodeFronts(inspector) {
const nodeList = await inspector.walker.querySelectorAll(
inspector.walker.rootNode,
"ul, li, span, em"
);
return nodeList.items();
}