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_dragdrop_distance.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 '')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_dragdrop_distance.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_dragdrop_distance.js b/devtools/client/inspector/markup/test/browser_markup_dragdrop_distance.js new file mode 100644 index 0000000000..6718d33317 --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_dragdrop_distance.js @@ -0,0 +1,48 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test that nodes don't start dragging before the mouse has moved by at least +// the minimum vertical distance defined in markup-view.js by +// DRAG_DROP_MIN_INITIAL_DISTANCE. + +const TEST_URL = URL_ROOT + "doc_markup_dragdrop.html"; +const TEST_NODE = "#test"; + +// Keep this in sync with DRAG_DROP_MIN_INITIAL_DISTANCE in markup-view.js +const MIN_DISTANCE = 10; + +add_task(async function () { + const { inspector } = await openInspectorForURL(TEST_URL); + + info("Drag the test node by half of the minimum distance"); + await simulateNodeDrag(inspector, TEST_NODE, 0, MIN_DISTANCE / 2); + await checkIsDragging(inspector, TEST_NODE, false); + + info("Drag the test node by exactly the minimum distance"); + await simulateNodeDrag(inspector, TEST_NODE, 0, MIN_DISTANCE); + await checkIsDragging(inspector, TEST_NODE, true); + inspector.markup.cancelDragging(); + + info("Drag the test node by more than the minimum distance"); + await simulateNodeDrag(inspector, TEST_NODE, 0, MIN_DISTANCE * 2); + await checkIsDragging(inspector, TEST_NODE, true); + inspector.markup.cancelDragging(); + + info("Drag the test node by minus the minimum distance"); + await simulateNodeDrag(inspector, TEST_NODE, 0, MIN_DISTANCE * -1); + await checkIsDragging(inspector, TEST_NODE, true); + inspector.markup.cancelDragging(); +}); + +async function checkIsDragging(inspector, selector, isDragging) { + const container = await getContainerForSelector(selector, inspector); + if (isDragging) { + ok(container.isDragging, "The container is being dragged"); + ok(inspector.markup.isDragging, "And the markup-view knows it"); + } else { + ok(!container.isDragging, "The container hasn't been marked as dragging"); + ok(!inspector.markup.isDragging, "And the markup-view either"); + } +} |