test_bug1709832.html (1642B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>Test for Bug 1709832</title> 4 <script src="/tests/SimpleTest/SimpleTest.js"></script> 5 <script src="/tests/SimpleTest/EventUtils.js"></script> 6 <link rel="stylesheet" href="/tests/SimpleTest/test.css" /> 7 <style> 8 @font-face { 9 font-family: Ahem; 10 src: url("/tests/dom/base/test/Ahem.ttf"); 11 } 12 13 #container { 14 font: 16px/1 Ahem; 15 } 16 </style> 17 <div id="container"> 18 <span id="start" draggable="true">start</span><span id="dest" draggable="true">dest</span> 19 </div> 20 <script> 21 SimpleTest.waitForExplicitFinish(); 22 23 dest.addEventListener("dragenter", ev => { 24 is(ev.target, dest, "dragenter target should be element"); 25 is(ev.relatedTarget, start, "dragenter relatedTarget should be element"); 26 }); 27 start.addEventListener("dragleave", ev => { 28 is(ev.target, start, "dragleave target should be element"); 29 is(ev.relatedTarget, dest, "dragleave relatedTarget should be element"); 30 SimpleTest.finish(); 31 }); 32 33 synthesizeMouse(start, 5, 5, { type: "mousedown" }); 34 35 const utils = SpecialPowers.getDOMWindowUtils(window); 36 37 // Intentionally passing a text node to test EventStateManager behavior 38 // when GetContentForEvent gives a text node 39 // EventUtils.sendDragEvent is unusable because it requires an element as a target 40 utils.dispatchDOMEventViaPresShellForTesting(start.childNodes[0], new DragEvent("dragover", { 41 ...createDragEventObject("dragover", start, window, null, {}) 42 })); 43 utils.dispatchDOMEventViaPresShellForTesting(dest.childNodes[0], new DragEvent("dragover", { 44 ...createDragEventObject("dragover", dest, window, null, {}) 45 })); 46 </script>