test_bug1261674-2.html (2259B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1261674 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1261674</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <script src="/tests/SimpleTest/EventUtils.js"></script> 11 <script src="/tests/SimpleTest/paint_listener.js"></script> 12 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 13 </head> 14 <body> 15 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1261674">Mozilla Bug 1261674</a> 16 <p id="display"></p> 17 <div id="content" style="display: none"> 18 </div> 19 <input id="test_input" type="range" max=0 min=10> 20 <script type="text/javascript"> 21 22 /** Test for Bug 1261674 */ 23 SimpleTest.waitForExplicitFinish(); 24 SimpleTest.waitForFocus(runTests); 25 26 function runTests() { 27 let input = window.document.getElementById("test_input"); 28 29 // deltaY: deltaY of WheelEvent 30 // deltaMode: deltaMode of WheelEvent 31 let params = [ 32 {deltaY: 1.0, deltaMode: WheelEvent.DOM_DELTA_LINE}, 33 {deltaY: -1.0, deltaMode: WheelEvent.DOM_DELTA_LINE}, 34 {deltaY: 1.0, deltaMode: WheelEvent.DOM_DELTA_PAGE}, 35 {deltaY: -1.0, deltaMode: WheelEvent.DOM_DELTA_PAGE}, 36 {deltaY: 1.0, deltaMode: WheelEvent.DOM_DELTA_PIXEL}, 37 {deltaY: -1.0, deltaMode: WheelEvent.DOM_DELTA_PIXEL}, 38 {deltaY: 1.0, deltaMode: WheelEvent.DOM_DELTA_LINE}, 39 {deltaY: -1.0, deltaMode: WheelEvent.DOM_DELTA_LINE} 40 ]; 41 42 let testIdx = 0; 43 let result = parseInt(input.value); 44 let rangeChange = 0; 45 46 input.addEventListener("change", () => { 47 ++rangeChange; 48 }); 49 50 function runNext() { 51 let p = params[testIdx]; 52 (p.focus) ? input.focus() : input.blur(); 53 sendWheelAndPaint(input, 1, 1, { deltaY: p.deltaY, deltaMode: p.deltaMode }, () => { 54 ok(input.value == result, 55 "Handle wheel in range input test-" + testIdx + " expect " + result + " get " + input.value); 56 ok(rangeChange == 0, "Wheel event should not trigger change event when max < min"); 57 testIdx++; 58 (testIdx >= params.length) ? SimpleTest.finish() : runNext(); 59 }); 60 } 61 62 input.addEventListener("input", () => { 63 ok(false, "Wheel event should be no effect to range input element with max < min"); 64 }); 65 66 runNext(); 67 } 68 </script> 69 </body> 70 </html>