diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /devtools/client/inspector/markup/test/browser_markup_scrollable_badge.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_scrollable_badge.js')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_scrollable_badge.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_scrollable_badge.js b/devtools/client/inspector/markup/test/browser_markup_scrollable_badge.js new file mode 100644 index 0000000000..2f6a414249 --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_scrollable_badge.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Tests that the scrollable badge is shown next to scrollable elements, and is updated +// dynamically when necessary. + +const TEST_URI = ` + <style type="text/css"> + #wrapper { + width: 300px; + height: 300px; + overflow: scroll; + } + #wrapper.no-scroll { + overflow: hidden; + } + #content { + height: 1000px; + } + </style> + <div id="wrapper"> + <div id="content"></div> + </div> +`; + +add_task(async function () { + const { inspector } = await openInspectorForURL( + "data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI) + ); + + let badge = await getBadgeEl(inspector); + ok(badge, "The scrollable badge exists on the test node"); + + info("Make the test node non-scrollable"); + let onStateChanged = inspector.walker.once("scrollable-change"); + await toggleScrollableClass(); + await onStateChanged; + + badge = await getBadgeEl(inspector); + ok(!badge, "The scrollable badge doesn't exist anymore"); + + info("Make the test node scrollable again"); + onStateChanged = inspector.walker.once("scrollable-change"); + await toggleScrollableClass(); + await onStateChanged; + + badge = await getBadgeEl(inspector); + ok(badge, "The scrollable badge exists again"); +}); + +async function getBadgeEl(inspector) { + const wrapperMarkupContainer = await getContainerForSelector( + "#wrapper", + inspector + ); + return wrapperMarkupContainer.elt.querySelector( + ".inspector-badge.scrollable-badge" + ); +} + +async function toggleScrollableClass() { + await SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function () { + content.document.querySelector("#wrapper").classList.toggle("no-scroll"); + }); +} |