Index: LayoutTests/fast/forms/range/range-keyboard-oninput-event.html |
diff --git a/LayoutTests/fast/forms/range/range-keyboard-oninput-event.html b/LayoutTests/fast/forms/range/range-keyboard-oninput-event.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..df99e00952a761b51ecd41e3655a6a2fb4c1ba48 |
--- /dev/null |
+++ b/LayoutTests/fast/forms/range/range-keyboard-oninput-event.html |
@@ -0,0 +1,44 @@ |
+<html> |
+<head> |
+<script src="../../../resources/js-test.js"></script> |
+</head> |
+<body> |
+<input type="range" id="slider" oninput="log('input')" onchange="log('change')" min=0 max=100 value=50> |
+<script> |
+ description('Test that for each keyboard event both input and change event are dispatched'); |
+ var changeEventCounter = 0; |
+ var lastChangeEventCounter = changeEventCounter; |
+ var inputEventCounter = 0; |
+ var lastInputEventCounter = inputEventCounter; |
+ |
+ function log(msg) |
+ { |
keishi
2014/03/04 10:47:22
nit: no line break before bracket in JS. Ditto for
Habib Virji
2014/03/04 11:33:34
Done.
|
+ if (msg == 'input') |
+ inputEventCounter++; |
+ if (msg == 'input') |
keishi
2014/03/04 10:47:22
Should be 'change'.
nit: You could use event.type
Habib Virji
2014/03/04 11:33:34
Done.
|
+ changeEventCounter++; |
+ } |
+ |
+ function testInput() |
+ { |
+ var slider = document.getElementById('slider'); |
+ if (window.testRunner) |
+ { |
+ // slider drag |
+ slider.focus(); |
+ debug('Move left'); |
+ eventSender.keyDown('leftArrow'); |
+ shouldBeGreaterThanOrEqual('inputEventCounter' , 'lastInputEventCounter + 1'); |
+ shouldBeGreaterThanOrEqual('changeEventCounter', 'lastChangeEventCounter + 1'); |
+ debug('Move right'); |
+ lastInputEventCounter = inputEventCounter; |
+ lastChangeEventCounter = changeEventCounter; |
+ eventSender.keyDown('rightArrow'); |
+ shouldBeGreaterThanOrEqual('inputEventCounter' , 'lastInputEventCounter + 1'); |
+ shouldBeGreaterThanOrEqual('changeEventCounter', 'lastChangeEventCounter + 1'); |
+ } |
+ } |
+ testInput(); |
+</script> |
+</body> |
+</html> |