- Revision
- 123692
- Author
- yo...@chromium.org
- Date
- 2012-07-25 19:05:51 -0700 (Wed, 25 Jul 2012)
Log Message
[Tests] Re-factor fast/forms/number/number-spinbutton-change-and-input-events.html
https://bugs.webkit.org/show_bug.cgi?id=92206
Reviewed by Kent Tamura.
For ease of maintenance and improving test coverage with low cost, I
would like to make a test script of number-spinbutton-change-and-inputs.html
sharable with other input types which have spin button.
This patch moves _javascript_ codes from test HTML file to shared _javascript_
file, common-spinbutton-change-and-input-events.html with parametrized
entry point for specifying input type.
* fast/forms/number/number-spinbutton-change-and-input-events-expected.txt: Changed "numnber" to "number", and "numberInput" to "testInput".
* fast/forms/number/number-spinbutton-change-and-input-events.html: Removed _javascript_ code.
* fast/forms/resources/common-spinbutton-change-and-input-events.js: Removed HTML code. Made entry point. Changed to support testing without maximum value.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (123691 => 123692)
--- trunk/LayoutTests/ChangeLog 2012-07-26 01:36:33 UTC (rev 123691)
+++ trunk/LayoutTests/ChangeLog 2012-07-26 02:05:51 UTC (rev 123692)
@@ -1,3 +1,22 @@
+2012-07-25 Yoshifumi Inoue <yo...@chromium.org>
+
+ [Tests] Re-factor fast/forms/number/number-spinbutton-change-and-input-events.html
+ https://bugs.webkit.org/show_bug.cgi?id=92206
+
+ Reviewed by Kent Tamura.
+
+ For ease of maintenance and improving test coverage with low cost, I
+ would like to make a test script of number-spinbutton-change-and-inputs.html
+ sharable with other input types which have spin button.
+
+ This patch moves _javascript_ codes from test HTML file to shared _javascript_
+ file, common-spinbutton-change-and-input-events.html with parametrized
+ entry point for specifying input type.
+
+ * fast/forms/number/number-spinbutton-change-and-input-events-expected.txt: Changed "numnber" to "number", and "numberInput" to "testInput".
+ * fast/forms/number/number-spinbutton-change-and-input-events.html: Removed _javascript_ code.
+ * fast/forms/resources/common-spinbutton-change-and-input-events.js: Removed HTML code. Made entry point. Changed to support testing without maximum value.
+
2012-07-25 Dan Bernstein <m...@apple.com>
Hit testing in one column or in the gap between cloumns along the block axis can return a result from the wrong column
Modified: trunk/LayoutTests/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt (123691 => 123692)
--- trunk/LayoutTests/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt 2012-07-26 01:36:33 UTC (rev 123691)
+++ trunk/LayoutTests/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt 2012-07-26 02:05:51 UTC (rev 123692)
@@ -1,4 +1,4 @@
-Test for event dispatching by spin buttons in a type=numnber input.
+Test for event dispatching by spin buttons in a type=number input.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
@@ -7,11 +7,11 @@
PASS changeEventCounter is 0
PASS inputEventCounter is 0
Click the upper button
-PASS numberInput.value is "1"
+PASS testInput.value is "1"
PASS changeEventCounter is 1
PASS inputEventCounter is 1
Click again, but the value is not changed.
-PASS numberInput.value is "1"
+PASS testInput.value is "1"
PASS changeEventCounter is 1
PASS inputEventCounter is 1
Focus on another field
Modified: trunk/LayoutTests/fast/forms/number/number-spinbutton-change-and-input-events.html (123691 => 123692)
--- trunk/LayoutTests/fast/forms/number/number-spinbutton-change-and-input-events.html 2012-07-26 01:36:33 UTC (rev 123691)
+++ trunk/LayoutTests/fast/forms/number/number-spinbutton-change-and-input-events.html 2012-07-26 02:05:51 UTC (rev 123692)
@@ -2,53 +2,11 @@
<html>
<head>
<script src=""
+<script src=""
</head>
<body>
<script>
-description('Test for event dispatching by spin buttons in a type=numnber input.');
-
-var parent = document.createElement('div');
-document.body.appendChild(parent);
-parent.innerHTML = '<input type=number id=number value=0 max=1><input id=another>';
-var numberInput = document.getElementById('number');
-var anotherInput = document.getElementById('another');
-var inputEventCounter = 0;
-var changeEventCounter = 0;
-
-numberInput._onchange_ = function() { changeEventCounter++; };
-numberInput._oninput_ = function() { inputEventCounter++; };
-
-if (window.eventSender) {
- debug('Initial state');
- eventSender.mouseMoveTo(0, 0);
- shouldBe('changeEventCounter', '0');
- shouldBe('inputEventCounter', '0');
-
- debug('Click the upper button');
- // Move the cursor on the upper button.
- eventSender.mouseMoveTo(numberInput.offsetLeft + numberInput.offsetWidth - 10, numberInput.offsetTop + numberInput.offsetHeight / 4);
- eventSender.mouseDown();
- eventSender.mouseUp();
- shouldBe('numberInput.value', '"1"');
- shouldBe('changeEventCounter', '1');
- shouldBe('inputEventCounter', '1');
-
- debug('Click again, but the value is not changed.');
- eventSender.mouseDown();
- eventSender.mouseUp();
- shouldBe('numberInput.value', '"1"');
- shouldBe('changeEventCounter', '1');
- shouldBe('inputEventCounter', '1');
-
- debug('Focus on another field');
- anotherInput.focus();
- shouldBe('changeEventCounter', '1');
- shouldBe('inputEventCounter', '1');
-
- parent.innerHTML = '';
-} else {
- document.getElementById('console').innerHTML = 'No eventSender';
-}
+testSpinButtonChangeAndInputEvents('number', '0', '1', '1');
</script>
<script src=""
</body>
Modified: trunk/LayoutTests/fast/forms/resources/common-spinbutton-change-and-input-events.js (123691 => 123692)
--- trunk/LayoutTests/fast/forms/resources/common-spinbutton-change-and-input-events.js 2012-07-26 01:36:33 UTC (rev 123691)
+++ trunk/LayoutTests/fast/forms/resources/common-spinbutton-change-and-input-events.js 2012-07-26 02:05:51 UTC (rev 123692)
@@ -1,55 +1,55 @@
-<!DOCTYPE html>
-<html>
-<head>
-<script src=""
-</head>
-<body>
-<script>
-description('Test for event dispatching by spin buttons in a type=numnber input.');
-
-var parent = document.createElement('div');
-document.body.appendChild(parent);
-parent.innerHTML = '<input type=number id=number value=0 max=1><input id=another>';
-var numberInput = document.getElementById('number');
-var anotherInput = document.getElementById('another');
var inputEventCounter = 0;
var changeEventCounter = 0;
+var testInput;
-numberInput._onchange_ = function() { changeEventCounter++; };
-numberInput._oninput_ = function() { inputEventCounter++; };
+function testSpinButtonChangeAndInputEvents(inputType, initialValue, expectedValue, maximumValue)
+{
+ description('Test for event dispatching by spin buttons in a type=' + inputType + ' input.');
+ if (!window.eventSender) {
+ debug('No eventSender');
+ return;
+ }
-if (window.eventSender) {
+ var parent = document.createElement('div');
+ document.body.appendChild(parent);
+ parent.innerHTML = '<input id=test><input id=another>';
+ testInput = document.getElementById('test');
+ var anotherInput = document.getElementById('another');
+
+ testInput.type = inputType;
+ if (maximumValue != undefined)
+ testInput.setAttribute("max", maximumValue);
+ testInput.setAttribute("value", initialValue);
+ testInput._onchange_ = function() { changeEventCounter++; };
+ testInput._oninput_ = function() { inputEventCounter++; };
+
debug('Initial state');
eventSender.mouseMoveTo(0, 0);
- shouldBe('changeEventCounter', '0');
- shouldBe('inputEventCounter', '0');
+ shouldEvaluateTo('changeEventCounter', 0);
+ shouldEvaluateTo('inputEventCounter', 0);
debug('Click the upper button');
// Move the cursor on the upper button.
- eventSender.mouseMoveTo(numberInput.offsetLeft + numberInput.offsetWidth - 10, numberInput.offsetTop + numberInput.offsetHeight / 4);
+ eventSender.mouseMoveTo(testInput.offsetLeft + testInput.offsetWidth - 10, testInput.offsetTop + testInput.offsetHeight / 4);
eventSender.mouseDown();
eventSender.mouseUp();
- shouldBe('numberInput.value', '"1"');
- shouldBe('changeEventCounter', '1');
- shouldBe('inputEventCounter', '1');
+ shouldBeEqualToString('testInput.value', expectedValue);
+ shouldEvaluateTo('changeEventCounter', 1);
+ shouldEvaluateTo('inputEventCounter', 1);
- debug('Click again, but the value is not changed.');
- eventSender.mouseDown();
- eventSender.mouseUp();
- shouldBe('numberInput.value', '"1"');
- shouldBe('changeEventCounter', '1');
- shouldBe('inputEventCounter', '1');
+ if (testInput.hasAttribute("max")) {
+ debug('Click again, but the value is not changed.');
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ shouldBeEqualToString('testInput.value', expectedValue);
+ shouldEvaluateTo('changeEventCounter', 1);
+ shouldEvaluateTo('inputEventCounter', 1);
+ }
debug('Focus on another field');
anotherInput.focus();
- shouldBe('changeEventCounter', '1');
- shouldBe('inputEventCounter', '1');
+ shouldEvaluateTo('changeEventCounter', 1);
+ shouldEvaluateTo('inputEventCounter', 1);
parent.innerHTML = '';
-} else {
- document.getElementById('console').innerHTML = 'No eventSender';
}
-</script>
-<script src=""
-</body>
-</html>