diff options
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_sidebar_scroll.js')
-rw-r--r-- | devtools/client/webconsole/test/browser/browser_webconsole_sidebar_scroll.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_sidebar_scroll.js b/devtools/client/webconsole/test/browser/browser_webconsole_sidebar_scroll.js new file mode 100644 index 0000000000..b4d5c55673 --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_webconsole_sidebar_scroll.js @@ -0,0 +1,54 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +// 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); + ok( + sidebarContents.scrollHeight > sidebarContents.clientHeight, + "Sidebar overflows" + ); +}); |