actionsWithKeyPressed.html (1502B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>TestDriver actions: actions with key pressed</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, div#test2 { 12 position: fixed; 13 top: 0; 14 left: 0; 15 width: 100px; 16 height: 100px; 17 background-color: blue; 18 } 19 20 div#test2 { 21 position: fixed; 22 top: 100px; 23 left: 0; 24 width: 100px; 25 height: 100px; 26 background-color: green; 27 } 28 </style> 29 30 <div id="test1"> 31 </div> 32 33 <div id="test2"> 34 </div> 35 36 <script> 37 let keys = []; 38 39 promise_test(async t => { 40 let test1 = document.getElementById("test1"); 41 let test2 = document.getElementById("test2"); 42 document.getElementById("test1").addEventListener("click", 43 e => {keys.push(e.getModifierState("Shift"))}); 44 document.getElementById("test2").addEventListener("click", 45 e => {keys.push(e.getModifierState("Shift"))}); 46 47 let actions = new test_driver.Actions() 48 .keyDown("\uE008") 49 .addTick() 50 .pointerMove(0, 0, {origin: test1}) 51 .pointerDown() 52 .pointerUp() 53 .pointerMove(0, 0, {origin: test2}) 54 .pointerDown() 55 .pointerUp() 56 .addTick() 57 .keyUp("\uE008") 58 .addTick() 59 .pointerMove(0, 0, {origin: test1}) 60 .pointerDown() 61 .pointerUp(); 62 63 await actions.send(); 64 assert_array_equals(keys, [true, true, false]); 65 }); 66 </script>