summaryrefslogtreecommitdiffstats
path: root/dom/events/test/test_bug1709832.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dom/events/test/test_bug1709832.html46
1 files changed, 46 insertions, 0 deletions
diff --git a/dom/events/test/test_bug1709832.html b/dom/events/test/test_bug1709832.html
new file mode 100644
index 0000000000..b277c4e0fb
--- /dev/null
+++ b/dom/events/test/test_bug1709832.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test for Bug 1709832</title>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<script src="/tests/SimpleTest/EventUtils.js"></script>
+<link rel="stylesheet" href="/tests/SimpleTest/test.css" />
+<style>
+ @font-face {
+ font-family: Ahem;
+ src: url("/tests/dom/base/test/Ahem.ttf");
+ }
+
+ #container {
+ font: 16px/1 Ahem;
+ }
+</style>
+<div id="container">
+ <span id="start" draggable="true">start</span><span id="dest" draggable="true">dest</span>
+</div>
+<script>
+ SimpleTest.waitForExplicitFinish();
+
+ dest.addEventListener("dragenter", ev => {
+ is(ev.target, dest, "dragenter target should be element");
+ is(ev.relatedTarget, start, "dragenter relatedTarget should be element");
+ });
+ start.addEventListener("dragleave", ev => {
+ is(ev.target, start, "dragleave target should be element");
+ is(ev.relatedTarget, dest, "dragleave relatedTarget should be element");
+ SimpleTest.finish();
+ });
+
+ synthesizeMouse(start, 5, 5, { type: "mousedown" });
+
+ const utils = SpecialPowers.getDOMWindowUtils(window);
+
+ // Intentionally passing a text node to test EventStateManager behavior
+ // when GetContentForEvent gives a text node
+ // EventUtils.sendDragEvent is unusable because it requires an element as a target
+ utils.dispatchDOMEventViaPresShellForTesting(start.childNodes[0], new DragEvent("dragover", {
+ ...createDragEventObject("dragover", start, window, null, {})
+ }));
+ utils.dispatchDOMEventViaPresShellForTesting(dest.childNodes[0], new DragEvent("dragover", {
+ ...createDragEventObject("dragover", dest, window, null, {})
+ }));
+</script>