diff options
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js b/devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js new file mode 100644 index 0000000000..72d69a3a1f --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js @@ -0,0 +1,48 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test that dragging a node near the top or bottom edge of the markup-view +// auto-scrolls the view on a large toolbox. + +const TEST_URL = URL_ROOT + "doc_markup_dragdrop_autoscroll_01.html"; + +add_task(async function () { + // Set the toolbox as large as it would get. The toolbox automatically shrinks + // to not overflow to window. + await pushPref("devtools.toolbox.footer.height", 10000); + + const { inspector } = await openInspectorForURL(TEST_URL); + const markup = inspector.markup; + const viewHeight = markup.doc.documentElement.clientHeight; + + info("Pretend the markup-view is dragging"); + markup.isDragging = true; + + info("Simulate a mousemove on the view, at the bottom, and expect scrolling"); + + markup._onMouseMove({ + preventDefault: () => {}, + target: markup.doc.body, + pageY: viewHeight + markup.doc.defaultView.scrollY, + }); + + const bottomScrollPos = await waitForScrollStop(markup.doc); + Assert.greater(bottomScrollPos, 0, "The view was scrolled down"); + + info("Simulate a mousemove at the top and expect more scrolling"); + + markup._onMouseMove({ + preventDefault: () => {}, + target: markup.doc.body, + pageY: markup.doc.defaultView.scrollY, + }); + + const topScrollPos = await waitForScrollStop(markup.doc); + Assert.less(topScrollPos, bottomScrollPos, "The view was scrolled up"); + is(topScrollPos, 0, "The view was scrolled up to the top"); + + info("Simulate a mouseup to stop dragging"); + markup._onMouseUp(); +}); |