test_bug1305458.html (1442B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1305458 5 --> 6 <head> 7 <title>Test for Bug 1305458</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <script src="/tests/SimpleTest/EventUtils.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 <style> 12 input[type=number] { 13 appearance: textfield; 14 } 15 input[type=number]:focus, 16 input[type=number]:hover { 17 appearance: auto; 18 } 19 </style> 20 </head> 21 <body onload="doTest()"> 22 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1305458">Mozilla Bug 1305458</a> 23 <input id="test_input" type="number"> 24 <div id="test_div">bar</div> 25 <script> 26 SimpleTest.waitForExplicitFinish(); 27 var change_count = 0; 28 function doTest() { 29 let input = document.getElementById("test_input"); 30 let div = document.getElementById("test_div"); 31 input.addEventListener("change", () => { 32 ++change_count; 33 }); 34 // mouse hover 35 input.focus(); 36 synthesizeMouse(input, 1, 1, {type: "mousemove"}); 37 sendString("1"); 38 input.blur(); 39 is(change_count, 1, "input should fire change when blur"); 40 41 input.focus(); 42 synthesizeMouse(div, 1, 1, {type: "mousemove"}); 43 sendString("1"); 44 input.blur(); 45 is(change_count, 2, "input should fire change when blur"); 46 SimpleTest.finish(); 47 } 48 </script> 49 </body> 50 </html>