1 description('Test for event dispatching by spin buttons in a type=numnber input.');
3 var parent = document.createElement('div');
4 document.body.appendChild(parent);
5 parent.innerHTML = '<input type=number id=number value=0 max=1><input id=another>';
6 var numberInput = document.getElementById('number');
7 var anotherInput = document.getElementById('another');
8 var inputEventCounter = 0;
9 var changeEventCounter = 0;
11 numberInput.onchange = function() { changeEventCounter++; };
12 numberInput.oninput = function() { inputEventCounter++; };
14 if (window.eventSender) {
15 debug('Initial state');
16 shouldBe('changeEventCounter', '0');
17 shouldBe('inputEventCounter', '0');
19 debug('Click the upper button');
20 // Move the cursor on the upper button.
21 eventSender.mouseMoveTo(numberInput.offsetLeft + numberInput.offsetWidth - 10, numberInput.offsetTop + numberInput.offsetHeight / 4);
22 eventSender.mouseDown();
23 eventSender.mouseUp();
24 shouldBe('numberInput.value', '"1"');
25 shouldBe('changeEventCounter', '0');
26 shouldBe('inputEventCounter', '1');
28 debug('Click again, but the value is not changed.');
29 eventSender.mouseDown();
30 eventSender.mouseUp();
31 shouldBe('numberInput.value', '"1"');
32 shouldBe('changeEventCounter', '0');
33 shouldBe('inputEventCounter', '1');
35 debug('Focus on another field');
37 shouldBe('changeEventCounter', '1');
38 shouldBe('inputEventCounter', '1');
40 parent.innerHTML = '';
42 document.getElementById('console').innerHTML = 'No eventSender';