multiTouchPointsTwoTouchStarts.html (1717B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>TestDriver actions: two touch points with one moving one pause</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-actions.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 10 <style> 11 div#test1{ 12 position: fixed; 13 touch-action: none; 14 top: 0; 15 left: 0; 16 width: 100px; 17 height: 100px; 18 background-color: blue; 19 } 20 21 </style> 22 23 <div id="test1"> 24 </div> 25 26 <script> 27 let event_type = []; 28 let event_id = []; 29 30 promise_test(async t => { 31 const test1 = document.getElementById("test1"); 32 const handleEvent = e => { 33 event_type.push(e.type); 34 event_id.push(e.pointerId); 35 } 36 test1.addEventListener("pointerdown", handleEvent); 37 test1.addEventListener("pointerup", handleEvent); 38 test1.addEventListener("pointermove", handleEvent); 39 40 let actions = new test_driver.Actions() 41 .addPointer("touchPointer1", "touch") 42 .addPointer("touchPointer2", "touch") 43 .pointerMove(0, 0, {origin: test1, sourceName: "touchPointer1"}) 44 .pointerMove(10, 0, {origin: test1, sourceName: "touchPointer2"}) 45 .pointerDown({sourceName: "touchPointer1"}) 46 .pointerMove(0, 5, {origin: test1, sourceName: "touchPointer1"}) 47 .addTick() 48 .pointerDown({sourceName: "touchPointer2"}) 49 .addTick() 50 .pointerUp({sourceName: "touchPointer1"}) 51 .pointerUp({sourceName: "touchPointer2"}); 52 53 await actions.send() 54 55 assert_array_equals(event_type, ["pointerdown", "pointermove", "pointerdown", "pointerup", "pointerup"]); 56 assert_array_equals(event_id, [2, 2, 3, 2, 3]); 57 }); 58 </script>