test_bug1286509.html (1609B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1286509 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1286509</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <script src="/tests/SimpleTest/EventUtils.js"></script> 11 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 12 </head> 13 <body> 14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1286509">Mozilla Bug 1286509</a> 15 <p id="display"></p> 16 <div id="content"> 17 <input type="range" id="test_input" min="0" max="10" value="5"> 18 </div> 19 <pre id="test"> 20 <script type="application/javascript"> 21 /** Test for Bug 1286509 */ 22 SimpleTest.waitForExplicitFinish(); 23 var expectedEventSequence = ['keydown', 'change', 'keyup']; 24 var eventCounts = {}; 25 var expectedEventIdx = 0; 26 27 function test() { 28 var range = document.getElementById("test_input"); 29 range.focus(); 30 expectedEventSequence.forEach((eventName) => { 31 eventCounts[eventName] = 0; 32 range.addEventListener(eventName, (e) => { 33 ++eventCounts[eventName]; 34 is(expectedEventSequence[expectedEventIdx], e.type, "Events sequence should be keydown, change, keyup"); 35 expectedEventIdx = (expectedEventIdx + 1) % 3; 36 }); 37 }); 38 synthesizeKey("KEY_ArrowUp"); 39 synthesizeKey("KEY_ArrowDown"); 40 synthesizeKey("KEY_ArrowLeft"); 41 synthesizeKey("KEY_ArrowRight"); 42 is(eventCounts.change, 4, "Expect key up/down/left/right should trigger range input to fire change events"); 43 SimpleTest.finish(); 44 } 45 addLoadEvent(test); 46 </script> 47 </pre> 48 </body> 49 </html>