OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <title>InputEvent: beforeinput order on typing and command</title> |
| 5 <script src="../../../resources/testharness.js"></script> |
| 6 <script src="../../../resources/testharnessreport.js"></script> |
| 7 </head> |
| 8 <body> |
| 9 <input type="text" id="txt"> |
| 10 <script> |
| 11 test(function() { |
| 12 var eventList = ['keydown', 'keypress', 'beforeinput', 'input', 'keyup']; |
| 13 var expectedEventOrder = [ |
| 14 // Pressing 'a'. |
| 15 'keydown', 'keypress', 'beforeinput', 'input', 'keyup', |
| 16 // Pressing 'z' with modifier 'ctrlKey'. |
| 17 'keydown', 'beforeinput', 'input', 'keyup', |
| 18 ]; |
| 19 var actualEventOrder = []; |
| 20 var txt = document.getElementById('txt'); |
| 21 eventList.forEach(function(eventType) { |
| 22 txt.addEventListener(eventType, function(event) { |
| 23 actualEventOrder.push(event.type); |
| 24 }); |
| 25 }); |
| 26 if (!window.eventSender) { |
| 27 document.write('This test requires eventSender'); |
| 28 } else { |
| 29 txt.focus(); |
| 30 eventSender.keyDown('a'); |
| 31 var isMacOSX = navigator.userAgent.indexOf('Mac OS X') != -1; |
| 32 if (!isMacOSX) { |
| 33 // MacOS's eventSender does not work on hot keys other than arrows. |
| 34 eventSender.keyDown('z', ['ctrlKey']); |
| 35 assert_array_equals(actualEventOrder, expectedEventOrder, actualEven
tOrder.toString()); |
| 36 } |
| 37 } |
| 38 }, 'Testing beforeinput order on typing and command'); |
| 39 </script> |
| 40 </body> |
| 41 </html> |
OLD | NEW |