diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/events/test/test_drag_coords.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/events/test/test_drag_coords.html')
-rw-r--r-- | dom/events/test/test_drag_coords.html | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/dom/events/test/test_drag_coords.html b/dom/events/test/test_drag_coords.html new file mode 100644 index 0000000000..2db65a66f9 --- /dev/null +++ b/dom/events/test/test_drag_coords.html @@ -0,0 +1,52 @@ +<!doctype html> +<title>Test for drag event coordinates</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<script src="/tests/SimpleTest/EventUtils.js"></script> +<link rel="stylesheet" href="/tests/SimpleTest/test.css"/> +<style> + #draggable { + display: inline-block; + border: 1px solid; + } +</style> +<div draggable="true" id="draggable">Drag me</div> +<script> +add_task(async function test_drag_coords() { + await SpecialPowers.contentTransformsReceived(window); + + let target = document.getElementById("draggable"); + let coords = {}; + let promises = []; + for (let type of ["dragstart", "dragend"]) { + promises.push(new Promise(function(resolve) { + target.addEventListener(type, function(e) { + info("Got " + e.type); + coords[e.type] = { + screen: { + x: e.screenX, + y: e.screenY, + }, + client: { + x: e.clientX, + y: e.clientY, + }, + }; + resolve(); + }); + })); + } + synthesizePlainDragAndDrop({ + srcElement: target, + srcX: 2, + srcY: 2, + stepX: 10, + stepY: 10, + }); + await Promise.all(promises); + info(JSON.stringify(coords)); + for (let coordType of ["screen", "client"]) { + is(coords.dragend[coordType].x, coords.dragstart[coordType].x + 12, `x ${coordType} is correct`); + is(coords.dragend[coordType].y, coords.dragstart[coordType].y + 12, `y ${coordType} is correct`); + } +}); +</script> |