From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- ...wser_webconsole_console_group_open_no_scroll.js | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 devtools/client/webconsole/test/browser/browser_webconsole_console_group_open_no_scroll.js (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_console_group_open_no_scroll.js') diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_console_group_open_no_scroll.js b/devtools/client/webconsole/test/browser/browser_webconsole_console_group_open_no_scroll.js new file mode 100644 index 0000000000..c60a7a6303 --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_webconsole_console_group_open_no_scroll.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Check that opening a group does not scroll the console output. + +const TEST_URI = `data:text/html,`; + +add_task(async function () { + const hud = await openNewTabAndConsole(TEST_URI); + const outputScroller = hud.ui.outputScroller; + + // Let's wait until the first message and the group are displayed. + await waitFor(() => findConsoleAPIMessage(hud, "log-0")); + const groupMessage = await waitFor(() => findConsoleAPIMessage(hud, "GROUP")); + + is(hasVerticalOverflow(outputScroller), true, "output node overflows"); + is( + isScrolledToBottom(outputScroller), + true, + "output node is scrolled to the bottom" + ); + + info("Expand the group"); + groupMessage.querySelector(".arrow").click(); + await waitFor(() => findConsoleAPIMessage(hud, "in group")); + + is(hasVerticalOverflow(outputScroller), true, "output node overflows"); + is( + isScrolledToBottom(outputScroller), + false, + "output node isn't scrolled to the bottom anymore" + ); + + info("Scroll to bottom"); + outputScroller.scrollTop = outputScroller.scrollHeight; + await new Promise(r => + window.requestAnimationFrame(() => TestUtils.executeSoon(r)) + ); + + is( + isScrolledToBottom(outputScroller), + true, + "output node is scrolled to the bottom" + ); + + info( + "Check that adding a message on an open group when scrolled to bottom scrolls " + + "to bottom" + ); + const onNewMessage = waitForMessageByType(hud, "new-message", ".console-api"); + SpecialPowers.spawn(gBrowser.selectedBrowser, [], function () { + content.console.group("GROUP-2"); + content.console.log("new-message"); + }); + await onNewMessage; + is( + isScrolledToBottom(outputScroller), + true, + "output node is scrolled to the bottom after adding message in group" + ); +}); -- cgit v1.2.3