attributes.html (2205B)
1 <!DOCTYPE HTML> 2 <title>MouseEvent attributes</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="/resources/testdriver.js"></script> 6 <script src="/resources/testdriver-actions.js"></script> 7 <script src="/resources/testdriver-vendor.js"></script> 8 <script src="resources/utils.js"></script> 9 10 <span id="left">Left</span> <span id="right">Right</span> 11 12 <script> 13 'use strict'; 14 15 const event_list = ["mouseover", "mouseenter", "mousemove", 16 "mousedown", "mouseup", "mouseout", "mouseleave"]; 17 18 promise_test(async () => { 19 let left = document.getElementById("left"); 20 let right = document.getElementById("right"); 21 22 let event_promises = []; 23 event_list.forEach(ename => event_promises.push(getEvent(ename, right))); 24 25 let actions = new test_driver.Actions().addPointer("TestPointer", "mouse") 26 .pointerMove(0, 0, {origin: left}) 27 .pointerDown() 28 .pointerUp() 29 .pointerMove(0, 0, {origin: right}) 30 .pointerDown() 31 .pointerUp() 32 .pointerMove(0, 0, {origin: left}) 33 .pointerDown() 34 .pointerUp() 35 await actions.send(); 36 37 for (let i = 0; i < event_promises.length; i++) { 38 let e = await event_promises[i]; 39 40 assert_equals(e.constructor, window.MouseEvent, 41 e.type + " should use a MouseEvent constructor"); 42 assert_true(e instanceof MouseEvent, 43 e.type + " should be a MouseEvent"); 44 45 assert_true(e.isTrusted, 46 e.type + ".isTrusted attribute"); 47 48 assert_equals(e.composed, 49 e.type != 'mouseenter' && e.type != 'mouseleave', 50 e.type + ".composed attribute"); 51 52 assert_equals(e.bubbles, 53 e.type != 'mouseenter' && e.type != 'mouseleave', 54 e.type + ".bubbles attribute"); 55 56 assert_equals(e.cancelable, 57 e.type != 'mouseenter' && e.type != 'mouseleave', 58 e.type + ".cancelable attribute"); 59 } 60 }, "MouseEvent attributes"); 61 </script>