OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE> |
| 2 <html> |
| 3 <body> |
| 4 <script src="../../../resources/js-test.js"></script> |
| 5 <script src="../resources/common.js"></script> |
| 6 <input type="number" id="num1" onchange="handleChangeEvent(this);" oninput="hand
leInputEvent(this);"> |
| 7 <script> |
| 8 var changeEventCounter = 0; |
| 9 var inputEventCounter = 0; |
| 10 |
| 11 function handleChangeEvent(element) { |
| 12 ++changeEventCounter; |
| 13 } |
| 14 |
| 15 function handleInputEvent(element) { |
| 16 ++inputEventCounter; |
| 17 } |
| 18 |
| 19 var numberInput1= document.getElementById('num1'); |
| 20 numberInput1.focus(); |
| 21 debug('Should not trigger any event'); |
| 22 hoverOverElement(numberInput1); |
| 23 shouldBe('inputEventCounter', '0'); |
| 24 shouldBe('changeEventCounter', '0'); |
| 25 |
| 26 numberInput1.value = 0; |
| 27 eventSender.mouseMoveTo(numberInput1.offsetLeft + numberInput1.offsetWidth - 10,
numberInput1.offsetTop + numberInput1.offsetHeight / 4); |
| 28 eventSender.mouseDown(); |
| 29 eventSender.mouseUp(); |
| 30 debug('Input and change events occurs on mouse down'); |
| 31 shouldBe('inputEventCounter', '1'); |
| 32 shouldBe('changeEventCounter', '1'); |
| 33 shouldBeEqualToString('numberInput1.value', '1'); |
| 34 |
| 35 debug('Pressed more than once, still events are triggered'); |
| 36 eventSender.mouseMoveTo(numberInput1.offsetLeft + numberInput1.offsetWidth - 10,
numberInput1.offsetTop + numberInput1.offsetHeight / 4); |
| 37 eventSender.mouseDown(); |
| 38 eventSender.mouseUp(); |
| 39 shouldBe('inputEventCounter', '2'); |
| 40 shouldBe('changeEventCounter', '2'); |
| 41 shouldBeEqualToString('numberInput1.value', '2'); |
| 42 |
| 43 debug('When moving away from field, it should not trigger event, only on value c
hange'); |
| 44 numberInput1.blur(); |
| 45 shouldBe('inputEventCounter', '2'); |
| 46 shouldBe('changeEventCounter', '2'); |
| 47 shouldBeEqualToString('numberInput1.value', '2'); |
| 48 |
| 49 </script> |
| 50 </body> |
| 51 </html> |
OLD | NEW |