Chromium Code Reviews| Index: LayoutTests/fast/forms/number/number-spinbutton-changeevent-trigger.html |
| diff --git a/LayoutTests/fast/forms/number/number-spinbutton-changeevent-trigger.html b/LayoutTests/fast/forms/number/number-spinbutton-changeevent-trigger.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7b50ce2092cec6176023e65b8f9ff99ba8270ad0 |
| --- /dev/null |
| +++ b/LayoutTests/fast/forms/number/number-spinbutton-changeevent-trigger.html |
| @@ -0,0 +1,51 @@ |
| +<!DOCTYPE> |
| +<html> |
| +<body> |
| +<script src="../../../resources/js-test.js"></script> |
| +<script src="../resources/common.js"></script> |
| +<input type="number" id="num1" onchange="handleChangeEvent(this);" oninput="handleInputEvent(this);"> |
| +<script> |
| +var changeEventCounter = 0; |
| +var inputEventCounter = 0; |
| + |
| +function handleChangeEvent(element) { |
| + ++changeEventCounter; |
| +} |
| + |
| +function handleInputEvent(element) { |
| + ++inputEventCounter; |
| +} |
| + |
| +var numberInput1= document.getElementById('num1'); |
| +numberInput1.focus(); |
| +debug('Should not trigger any event'); |
| +hoverOverElement(numberInput1); |
| +shouldBe('inputEventCounter', '0'); |
| +shouldBe('changeEventCounter', '0'); |
| + |
| +numberInput1.value = 0; |
| +eventSender.mouseMoveTo(numberInput1.offsetLeft + numberInput1.offsetWidth - 10, numberInput1.offsetTop + numberInput1.offsetHeight / 4); |
| +eventSender.mouseDown(); |
| +eventSender.mouseUp(); |
|
tkent
2014/04/07 07:53:26
We should test if mouseDown won't dispatch a chang
Habib Virji
2014/04/07 10:02:43
Done.
|
| +debug('Input and change events occurs on mouse down'); |
| +shouldBe('inputEventCounter', '1'); |
| +shouldBe('changeEventCounter', '1'); |
| +shouldBeEqualToString('numberInput1.value', '1'); |
| + |
| +debug('Pressed more than once, still events are triggered'); |
| +eventSender.mouseMoveTo(numberInput1.offsetLeft + numberInput1.offsetWidth - 10, numberInput1.offsetTop + numberInput1.offsetHeight / 4); |
| +eventSender.mouseDown(); |
| +eventSender.mouseUp(); |
| +shouldBe('inputEventCounter', '2'); |
| +shouldBe('changeEventCounter', '2'); |
| +shouldBeEqualToString('numberInput1.value', '2'); |
| + |
| +debug('When moving away from field, it should not trigger event, only on value change'); |
| +numberInput1.blur(); |
| +shouldBe('inputEventCounter', '2'); |
| +shouldBe('changeEventCounter', '2'); |
| +shouldBeEqualToString('numberInput1.value', '2'); |
| + |
| +</script> |
| +</body> |
| +</html> |