Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
// Test that the sidebar can be scrolled.
"use strict";
const TEST_URI = `data:text/html;charset=utf8,<!DOCTYPE html>Test sidebar scroll`;
add_task(async function () {
// Should be removed when sidebar work is complete
await pushPref("devtools.webconsole.sidebarToggle", true);
const isMacOS = Services.appinfo.OS === "Darwin";
const hud = await openNewTabAndConsole(TEST_URI);
const onMessage = waitForMessageByType(hud, "Document", ".console-api");
SpecialPowers.spawn(gBrowser.selectedBrowser, [], function () {
content.wrappedJSObject.console.log(content.wrappedJSObject.document);
});
const { node } = await onMessage;
const object = node.querySelector(".object-inspector .node");
info("Ctrl+click on an object to put it in the sidebar");
const onSidebarShown = waitFor(() =>
hud.ui.document.querySelector(".sidebar")
);
AccessibilityUtils.setEnv({
// Component that renders a node handles keyboard interactions on the
// container level.
focusableRule: false,
interactiveRule: false,
labelRule: false,
});
EventUtils.sendMouseEvent(
{
type: "click",
[isMacOS ? "metaKey" : "ctrlKey"]: true,
},
object,
hud.ui.window
);
AccessibilityUtils.resetEnv();
await onSidebarShown;
const sidebarContents = hud.ui.document.querySelector(".sidebar-contents");
// Let's wait until the object is fully expanded.
await waitFor(() => sidebarContents.querySelectorAll(".node").length > 1);
Assert.greater(
sidebarContents.scrollHeight,
sidebarContents.clientHeight,
"Sidebar overflows"
);
});