test_bug1283915.html (1695B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1283915 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1283915</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 <script type="application/javascript"> 13 14 /** Test for Bug 1283915 */ 15 16 SimpleTest.waitForExplicitFinish(); 17 18 function isCursorAtEnd(field){ 19 is(field.selectionStart, field.value.length); 20 is(field.selectionEnd, field.value.length); 21 } 22 23 function test() { 24 var tField = document.getElementById("textField"); 25 tField.focus(); 26 27 sendString("a"); 28 is(tField.value, "a"); 29 isCursorAtEnd(tField); 30 document.body.offsetWidth; // frame must be created after type change 31 32 sendString("b"); 33 is(tField.value, "ab"); 34 isCursorAtEnd(tField); 35 36 sendString("c"); 37 is(tField.value, "abc"); 38 isCursorAtEnd(tField); 39 40 var nField = document.getElementById("numField"); 41 nField.focus(); 42 43 sendString("1"); 44 is(nField.value, "1"); 45 document.body.offsetWidth; 46 47 sendString("2"); 48 is(nField.value, "12"); 49 50 sendString("3"); 51 is(nField.value, "123"); 52 53 SimpleTest.finish(); 54 } 55 56 SimpleTest.waitForFocus(test); 57 </script> 58 </head> 59 <body> 60 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1283915">Mozilla Bug 1283915</a> 61 <p id="display"></p> 62 <input id="textField" type="text" oninput="if (this.type !='password') this.type = 'password';"> 63 <input id="numField" type="text" oninput="if (this.type !='number') this.type = 'number';"> 64 <pre id="test"> 65 </pre> 66 </body> 67 </html>