summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkeishi@webkit.org <keishi@webkit.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2012-11-22 13:31:46 +0000
committerkeishi@webkit.org <keishi@webkit.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2012-11-22 13:31:46 +0000
commit5b16322dbb3fd87072a2a1105d02d451d8e6e338 (patch)
treee1a979a90e2ec47b2bb8d5894d7ba0eff52a1f41
parent58ef6ac31b8d85fc2d11d59b5c83245a9f7a3ffd (diff)
downloadchromium_src-5b16322dbb3fd87072a2a1105d02d451d8e6e338.zip
chromium_src-5b16322dbb3fd87072a2a1105d02d451d8e6e338.tar.gz
chromium_src-5b16322dbb3fd87072a2a1105d02d451d8e6e338.tar.bz2
Add week-multiple-fields tests
https://bugs.webkit.org/show_bug.cgi?id=102045 Reviewed by Kent Tamura. Adding test cases for multiple field week input. * fast/forms/resources/multiple-fields-blur-and-focus-events.js: (startTestFor.beginTestCase): (startTestFor): * fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-wheel-event-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-wheel-event.html: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@135509 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-rw-r--r--third_party/WebKit/LayoutTests/ChangeLog33
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js3
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html41
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification.html38
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events-expected.txt17
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html12
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt62
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html192
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt33
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html83
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back-expected.txt18
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html141
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads-expected.txt15
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html42
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events-expected.txt19
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events.html14
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event-expected.txt23
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event.html17
22 files changed, 870 insertions, 1 deletions
diff --git a/third_party/WebKit/LayoutTests/ChangeLog b/third_party/WebKit/LayoutTests/ChangeLog
index 519dab22..e7cc1d1 100644
--- a/third_party/WebKit/LayoutTests/ChangeLog
+++ b/third_party/WebKit/LayoutTests/ChangeLog
@@ -1,3 +1,36 @@
+2012-11-22 Keishi Hattori <keishi@webkit.org>
+
+ Add week-multiple-fields tests
+ https://bugs.webkit.org/show_bug.cgi?id=102045
+
+ Reviewed by Kent Tamura.
+
+ Adding test cases for multiple field week input.
+
+ * fast/forms/resources/multiple-fields-blur-and-focus-events.js:
+ (startTestFor.beginTestCase):
+ (startTestFor):
+ * fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events.html: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-wheel-event-expected.txt: Added.
+ * fast/forms/week-multiple-fields/week-multiple-fields-wheel-event.html: Added.
+
2012-11-22 Christophe Dumez <christophe.dumez@intel.com>
WebKitTestRunner needs layoutTestController.setCacheModel
diff --git a/third_party/WebKit/LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js b/third_party/WebKit/LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js
index 21a5ac9..99884ea 100644
--- a/third_party/WebKit/LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js
+++ b/third_party/WebKit/LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js
@@ -39,7 +39,8 @@ function startTestFor(typeName)
document.getElementById("before").focus();
shouldBeEqualToString('keyDown("\t"); state()', 'blur=0 focus=1');
shouldBeEqualToString('keyDown("\t"); state()', 'blur=0 focus=1');
- shouldBeEqualToString('keyDown("\t"); state()', 'blur=0 focus=1');
+ if (typeName != 'week' && typeName != 'month')
+ shouldBeEqualToString('keyDown("\t"); state()', 'blur=0 focus=1');
shouldBeEqualToString('keyDown("\t"); state()', 'blur=1 focus=1');
} else {
debug('Please run in DumpRenderTree for focus and Tab-key test case');
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes-expected.txt
new file mode 100644
index 0000000..9d192c3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes-expected.txt
@@ -0,0 +1,16 @@
+This test checks aria-help attribute of fields in multiple fields week input UI.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Non-empty value
+PASS focusedFieldValueDescription() is "AXHelp: Week, AXValueDescription: 10, 1, 53"
+PASS focusedFieldValueDescription() is "AXHelp: Year, AXValueDescription: 2012, 1, 275760"
+Empty value
+PASS focusedFieldValueDescription() is "AXHelp: Year, AXValueDescription: blank, 1, 275760"
+PASS focusedFieldValueDescription() is "AXHelp: Week, AXValueDescription: blank, 1, 53"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html
new file mode 100644
index 0000000..b250665
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<input id="test" type="week" value="2012-W10">
+<script>
+description('This test checks aria-help attribute of fields in multiple fields week input UI.');
+
+function focusedFieldValueDescription()
+{
+ var element = accessibilityController.focusedElement;
+ return element.helpText + ', ' + element.valueDescription + ', ' + element.minValue + ', ' + element.maxValue;
+}
+
+var testInput = document.getElementById('test');
+
+if (!window.accessibilityController || !window.eventSender)
+ debug('Please run inside DRT or WTR.');
+else {
+ debug('Non-empty value');
+ testInput.focus();
+ shouldBeEqualToString('focusedFieldValueDescription()', 'AXHelp: Week, AXValueDescription: 10, 1, 53');
+ eventSender.keyDown('\t');
+ shouldBeEqualToString('focusedFieldValueDescription()', 'AXHelp: Year, AXValueDescription: 2012, 1, 275760');
+
+ debug('Empty value');
+ eventSender.keyDown('\b');
+ shouldBeEqualToString('focusedFieldValueDescription()', 'AXHelp: Year, AXValueDescription: blank, 1, 275760');
+ eventSender.keyDown('\t', ['shiftKey']);
+ eventSender.keyDown('\b');
+ shouldBeEqualToString('focusedFieldValueDescription()', 'AXHelp: Week, AXValueDescription: blank, 1, 53');
+
+ debug('');
+ testInput.remove();
+}
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification-expected.txt
new file mode 100644
index 0000000..3b7a8a9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification-expected.txt
@@ -0,0 +1,16 @@
+This test checks value changed accessibility notifications.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+FocusedUIElementChanged AXHelp: Week=AXValueDescription: 10
+FocusedUIElementChanged AXHelp: Year=AXValueDescription: 2012
+ValueChanged AXHelp: Year=AXValueDescription: 0005
+ValueChanged AXHelp: Year=AXValueDescription: 0005
+ValueChanged AXHelp: Year=AXValueDescription: 0005
+ValueChanged AXHelp: Year=AXValueDescription: 0005
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification.html
new file mode 100644
index 0000000..209c880
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-ax-value-changed-notification.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<input id="test" type="week" value="2012-W10">
+<script>
+description('This test checks value changed accessibility notifications.');
+
+var testInput = document.getElementById("test");
+
+if (!window.accessibilityController || !window.eventSender)
+ debug("Please run inside DRT or WRT.");
+else {
+ accessibilityController.addNotificationListener(function (element, notification) {
+ if (notification == 'FocusedUIElementChanged' || notification == 'ValueChanged') {
+ debug(notification + ' ' + element.helpText + '=' + element.valueDescription);
+ }
+ });
+
+ testInput.focus();
+ eventSender.keyDown('\t');
+ eventSender.keyDown('4');
+ eventSender.keyDown('upArrow');
+
+ window.jsTestIsAsync = true;
+
+ window.setTimeout(function() {
+ debug('');
+ testInput.remove();
+ finishJSTest();
+ }, 1);
+}
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events-expected.txt
new file mode 100644
index 0000000..a68ca04
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events-expected.txt
@@ -0,0 +1,17 @@
+Check blur and focus events for multiple fields week input UI
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+focus() and blur()
+PASS testInput.focus(); state() is "blur=0 focus=1"
+PASS testInput.blur(); state() is "blur=1 focus=1"
+focus and Tab key to blur
+PASS keyDown(" "); state() is "blur=0 focus=1"
+PASS keyDown(" "); state() is "blur=0 focus=1"
+PASS keyDown(" "); state() is "blur=1 focus=1"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html
new file mode 100644
index 0000000..d8c6dce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src="../../js/resources/js-test-pre.js"></script>
+<script src="../resources/multiple-fields-blur-and-focus-events.js"></script>
+<div id="container"></div>
+<script>
+startTestFor('week');
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value-expected.txt
new file mode 100644
index 0000000..f147068
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value-expected.txt
@@ -0,0 +1,11 @@
+Change multiple fields week input UI layout by value
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS widthOfEmptyValue < widthOfOverflowValue is true
+PASS widthOfEmptyValue is widthOfValidValue
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html
new file mode 100644
index 0000000..38d938c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src="../../js/resources/js-test-pre.js"></script>
+<script>
+description('Change multiple fields week input UI layout by value');
+var testInput = document.createElement('input');
+testInput.type = 'week';
+testInput.max = '9999-W52';
+document.body.appendChild(testInput);
+var widthOfEmptyValue = testInput.offsetWidth;
+
+testInput.value = '10000-W01';
+var widthOfOverflowValue = testInput.offsetWidth;
+shouldBeTrue('widthOfEmptyValue < widthOfOverflowValue');
+
+testInput.value = '2012-W10';
+var widthOfValidValue = testInput.offsetWidth;
+shouldBe('widthOfEmptyValue', 'widthOfValidValue');
+
+testInput.remove();
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt
new file mode 100644
index 0000000..15a340d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt
@@ -0,0 +1,62 @@
+Multiple fields UI of week input type with keyboard events
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Please run this with DumpRenderTree.
+
+Test following keys:
+Digits
+Left/Right - Move focus field inside element
+Up/Down - Increment/decrement value of focus field
+Tab - Move focus field
+Backspace - Make value empty
+
+== Digit keys ==
+PASS input.value is "0012-W09"
+== Left/Right keys ==
+PASS input.value is "0005-W06"
+PASS document.activeElement.id is "input"
+== Up/Down keys ==
+PASS input.value is "2012-W10"
+PASS input.value is "2012-W08"
+== Up/Down keys on empty value ==
+PASS input.value is "2012-W52"
+== Up/Down keys on empty value 2 ==
+PASS input.value is "2012-W02"
+== Tab key ==
+PASS input.value is "0005-W09"
+PASS input.value is "0005-W07"
+PASS document.activeElement.id is "after"
+== Shfit+Tab key ==
+PASS input.value is "0003-W09"
+PASS document.activeElement.id is "before"
+== Up key on maximum value ==
+PASS input.value is "0001-W10"
+== Up key with a maximum attribute ==
+PASS input.value is "1000-W13"
+== Down key on minimum value ==
+PASS input.value is ""
+== Down key with a minimum attribute ==
+PASS input.value is ""
+== Inconsistent min-max attributes ==
+PASS input.value is "1000-W13"
+PASS input.value is "1999-W13"
+== Make an invalid date ==
+PASS input.value is ""
+== Backspace key ==
+PASS input.value is ""
+== Delete key ==
+PASS input.value is ""
+== Typeahead ==
+PASS input.value is "0001-W12"
+PASS input.value is "0002-W12"
+== Disabled/readonly ==
+PASS input.value is "2012-W10"
+PASS input.value is "2012-W11"
+PASS input.value is "2012-W11"
+PASS input.value is "2012-W12"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html
new file mode 100644
index 0000000..43c60a8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<p>
+Please run this with DumpRenderTree.
+</p>
+Test following keys:
+<ul>
+ <li>Digits</li>
+ <li>Left/Right - Move focus field inside element</li>
+ <li>Up/Down - Increment/decrement value of focus field</li>
+ <li>Tab - Move focus field</li>
+ <li>Backspace - Make value empty</li>
+</ul>
+<input id="before">
+<input id="input" type="week">
+<input id="after">
+<div id="console"></div>
+<script>
+description('Multiple fields UI of week input type with keyboard events');
+if (window.internals)
+ internals.settings.setLangAttributeAwareFormControlUIEnabled(true);
+var input = document.getElementById('input');
+
+function keyDown(key, modifiers)
+{
+ if (!window.eventSender)
+ return;
+ eventSender.keyDown(key, modifiers);
+}
+
+function beginTest(title, opt_value, opt_min, opt_max)
+{
+ debug('== ' + title + ' ==');
+ input.value = opt_value || '';
+ input.min = opt_min ? opt_min : '';
+ input.max = opt_max ? opt_max : '';
+ input.blur();
+ input.focus();
+}
+
+// We assume the date format is Week ww, yyyy.
+
+beginTest('Digit keys');
+keyDown('9'); // -> Week 09, yyyy
+keyDown('1'); // -> Week 09, [0001]
+keyDown('2'); // -> Week 09, [0012]
+keyDown('A'); // Ignored.
+shouldBeEqualToString('input.value', '0012-W09');
+
+// FIXME: We should test type ahead time out. When event.leapForward() affects
+// keyboard event time stamp, we can uncomment this fragment.
+/*
+beginTest('Digit keys with type ahead timeout');
+keyDown('1'); // -> Week [01], yyyy
+eventSender.leapForward(1100); // -> Week 01, [yyyy]
+keyDown('1'); // -> Week 01, [0001]
+keyDown('5'); // -> Week 01, [0015]
+keyDown('6'); // -> Week 01, [0156]
+shouldBeEqualToString('input.value', '0156-W01');
+*/
+
+beginTest('Left/Right keys', '2012-W09');
+keyDown('rightArrow'); // -> Week 09, [2012]
+keyDown('5'); // -> Week 09, [0005]
+keyDown('leftArrow'); // -> Week [09], 0005
+keyDown('6'); // -> Week [06], 0005
+shouldBeEqualToString('input.value', '0005-W06');
+keyDown('leftArrow'); // -> Week 06, [0005]
+keyDown('leftArrow'); // -> Week [06], 0005
+keyDown('leftArrow'); // -> Week [06], 0005
+shouldBeEqualToString('document.activeElement.id', 'input');
+
+beginTest('Up/Down keys', '2012-W09');
+keyDown('upArrow'); // -> Week [10], 2012
+shouldBeEqualToString('input.value', '2012-W10');
+keyDown('downArrow'); // -> Week [09], 2012
+keyDown('downArrow'); // -> Week [08], 2012
+shouldBeEqualToString('input.value', '2012-W08');
+
+beginTest('Up/Down keys on empty value');
+keyDown('downArrow'); // -> Week [53], yyyy
+keyDown('downArrow'); // -> Week [52], yyyy
+keyDown('upArrow'); // -> Week [53], yyyy
+keyDown('downArrow'); // -> Week [52], yyyy
+keyDown('rightArrow'); // -> Week 52, [yyyy]
+var currentYear = new Date().getFullYear();
+keyDown('upArrow'); // -> Week 52, [current year]
+shouldBeEqualToString('input.value', currentYear + '-W52');
+
+beginTest('Up/Down keys on empty value 2');
+keyDown('upArrow'); // -> Week [01], yyyy
+keyDown('upArrow'); // -> Week [02], yyyy
+keyDown('rightArrow'); // -> Week 02, [yyyy]
+currentYear = new Date().getFullYear();
+keyDown('downArrow'); // -> Week 02, [current year]
+shouldBeEqualToString('input.value', currentYear + '-W02');
+
+beginTest('Tab key', '2012-W09');
+keyDown('\t'); // -> Week 09, [2012]
+keyDown('5'); // -> Week 09, [0005]
+shouldBeEqualToString('input.value', '0005-W09');
+keyDown('\t', ['shiftKey']); // -> Week [09], 0005
+keyDown('7'); // -> Week [07], 0005
+shouldBeEqualToString('input.value', '0005-W07');
+keyDown('\t'); // -> Focus out.
+shouldBeEqualToString('document.activeElement.id', 'after');
+
+beginTest('Shfit+Tab key', '2012-W09');
+after.focus();
+keyDown('\t', ['shiftKey']); // -> Week 09, [2012]
+keyDown('3'); // -> Week 09, [0003]
+shouldBeEqualToString('input.value', '0003-W09');
+keyDown('\t', ['shiftKey']); // -> Week [09], 0003
+keyDown('\t', ['shiftKey']); // -> Focus out.
+shouldBeEqualToString('document.activeElement.id', 'before');
+
+beginTest('Up key on maximum value', '275760-W09');
+keyDown('upArrow'); // -> Week [10], 275760
+keyDown('\t'); // -> Week 10, [275760]
+keyDown('upArrow'); // -> Week 10, [0001]
+shouldBeEqualToString('input.value', '0001-W10');
+beginTest('Up key with a maximum attribute', '1999-W12', '1000-W01', '1999-W12');
+keyDown('upArrow'); // -> Week [13], 1999
+keyDown('\t'); // -> Week 13, [1999]
+keyDown('upArrow'); // -> Week 13, [1000]
+shouldBeEqualToString('input.value', '1000-W13');
+
+beginTest('Down key on minimum value', '0001-W01', 'bad min', 'wrong max');
+keyDown('downArrow'); // -> Week [53], 0001
+keyDown('\t'); // -> Week 01, [0001]
+keyDown('downArrow'); // -> Week 53, [275760], which is greater than the hard limit.
+shouldBeEqualToString('input.value', '');
+beginTest('Down key with a minimum attribute', '1000-W01', '1000-W01');
+keyDown('downArrow'); // -> Week [53], 1000
+keyDown('\t'); // -> Week 53, [1000]
+keyDown('downArrow'); // -> Week 53, [275760], which is greater than the hard limit.
+shouldBeEqualToString('input.value', '');
+
+beginTest('Inconsistent min-max attributes', '1999-W12', '1999-W12', '1000-W01');
+keyDown('upArrow'); // -> Week [13], 1999.
+keyDown('\t'); // -> Week 13, [1999]
+keyDown('upArrow'); // -> Week 13, [1000]. 1000 is the swapped minimum year.
+shouldBeEqualToString('input.value', '1000-W13');
+keyDown('downArrow'); // -> Week 01, [1999]
+shouldBeEqualToString('input.value', '1999-W13');
+
+beginTest('Make an invalid date', '2012-W01');
+keyDown('downArrow'); // -> Week [53], 2012
+shouldBeEqualToString('input.value', ''); // 2012-W53 is not a valid date.
+
+beginTest('Backspace key', '2012-W09');
+keyDown("\b"); // -> Week [ww], 2012
+shouldBeEqualToString('input.value', '');
+
+beginTest('Delete key', '2012-W09');
+keyDown("delete"); // -> Week [ww], 2012
+shouldBeEqualToString('input.value', '');
+
+beginTest('Typeahead', '2012-W12');
+keyDown('rightArrow'); // -> Week 12, [2012]
+keyDown('1'); // -> Week 01, [0001]
+shouldBeEqualToString('input.value', '0001-W12');
+keyDown('leftArrow'); // -> Week [12], 0001
+keyDown('rightArrow'); // -> Week 12, [0001]
+keyDown('2'); // -> Week 12, [0002]
+shouldBeEqualToString('input.value', '0002-W12');
+
+beginTest('Disabled/readonly', '2012-W10');
+input.disabled = true;
+keyDown('upArrow'); // Week 10, 2012
+shouldBeEqualToString('input.value', '2012-W10');
+input.disabled = false;
+input.focus();
+keyDown('upArrow'); // Week [11], 2012
+shouldBeEqualToString('input.value', '2012-W11');
+input.readOnly = true;
+keyDown('upArrow'); // Week [11], 2012
+shouldBeEqualToString('input.value', '2012-W11');
+input.readOnly = false;
+input.focus();
+keyDown('upArrow'); // Week [12], 2012
+shouldBeEqualToString('input.value', '2012-W12');
+
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt
new file mode 100644
index 0000000..cd6fc24
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt
@@ -0,0 +1,33 @@
+Multiple fields UI of date input type with mouse events
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Please run this with DRT or WTR.
+
+Test following mouse actions:
+Mouse click to focus each of sub-fields
+Mouse click on the spin button to update each of sub-fields
+
+==> Focus on the week field.
+PASS input.value is "2345-W08"
+PASS input.value is "2345-W09"
+PASS input.value is "2345-W08"
+PASS window.getSelection().rangeCount is 0
+
+==> Focus on the year field.
+PASS input.value is "2346-W08"
+PASS input.value is "2347-W08"
+PASS input.value is "2346-W08"
+PASS window.getSelection().rangeCount is 0
+
+==> Click on a disabled field.
+PASS input.value is "2346-W08"
+
+==> Click on a read-only field.
+PASS input.value is "2346-W08"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html
new file mode 100644
index 0000000..f2b1221
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<p>
+Please run this with DRT or WTR.
+</p>
+Test following mouse actions:
+<ul>
+ <li>Mouse click to focus each of sub-fields</li>
+ <li>Mouse click on the spin button to update each of sub-fields</li>
+</ul>
+<input id="input" type="week" style="font-family:ahem; font-size:16px;">
+<div id="console"></div>
+<script>
+description('Multiple fields UI of date input type with mouse events');
+var input = document.getElementById('input');
+
+function keyDown(key, modifiers)
+{
+ if (!window.eventSender)
+ return;
+ eventSender.keyDown(key, modifiers);
+}
+
+function mouseClickOn(x, y)
+{
+ if (!window.eventSender)
+ return;
+ eventSender.mouseMoveTo(x + input.offsetLeft, y + input.offsetTop);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+}
+
+input.value = '2345-W07';
+var center = input.offsetHeight / 2;
+var spinButtonOffset = 26;
+
+debug('==> Focus on the week field.');
+mouseClickOn(100, center);
+keyDown('upArrow');
+shouldBeEqualToString('input.value', '2345-W08');
+mouseClickOn(input.offsetWidth - spinButtonOffset, center - 1);
+shouldBeEqualToString('input.value', '2345-W09');
+mouseClickOn(input.offsetWidth - spinButtonOffset, center + 1);
+shouldBeEqualToString('input.value', '2345-W08');
+shouldBeZero('window.getSelection().rangeCount'); // No text selection.
+
+debug('');
+debug('==> Focus on the year field.');
+mouseClickOn(200, center);
+keyDown('upArrow');
+shouldBeEqualToString('input.value', '2346-W08');
+mouseClickOn(input.offsetWidth - spinButtonOffset, center - 1);
+shouldBeEqualToString('input.value', '2347-W08');
+mouseClickOn(input.offsetWidth - spinButtonOffset, center + 1);
+shouldBeEqualToString('input.value', '2346-W08');
+shouldBeZero('window.getSelection().rangeCount'); // No text selection.
+
+debug('');
+debug('==> Click on a disabled field.');
+input.disabled = true;
+mouseClickOn(100, center);
+keyDown('upArrow');
+shouldBeEqualToString('input.value', '2346-W08');
+input.disabled = false;
+
+debug('');
+debug('==> Click on a read-only field.');
+input.readOnly = true;
+mouseClickOn(12, center);
+keyDown('upArrow');
+shouldBeEqualToString('input.value', '2346-W08');
+input.readOnly = false;
+
+debug('');
+</script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back-expected.txt
new file mode 100644
index 0000000..ae5da34
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back-expected.txt
@@ -0,0 +1,18 @@
+Checks input value is preserved after backward and forward
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Went back to a page. Checking a form control which had a full value:
+PASS "12012-W10" is "12012-W10"
+Went back to a page. Checking a form control which had a partial value:
+PASS "Week 01, ----" is "Week 01, ----"
+Went forward to a page. Checking a form control which had a full value:
+PASS "0001-W11" is "0001-W11"
+Went forward to a page. Checking a form control which had a partial value:
+PASS "Week --, 1999" is "Week --, 1999"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html
new file mode 100644
index 0000000..6b09d6f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<div id="container">
+<input type="week" id="test1"><br>
+<input type="week" id="test2" min="1999-W01" max="1999-W12"><br>
+<iframe id="iframe"></iframe>
+</div>
+<script>
+description('Checks input value is preserved after backward and forward');
+if (!window.eventSender)
+ debug('Please run within DRT/WTR');
+window.jsTestIsAsync = true;
+
+var iframe = document.getElementById('iframe');
+var testInput1 = document.getElementById('test1');
+var testInput2 = document.getElementById('test2');
+var state = 'direct';
+var pageName = location.search || '?page0';
+var testCases = [];
+
+function back(newState) {
+ parent.state = newState;
+ history.back();
+}
+
+function failed(message) {
+ testFailed(message + ' in ' + state);
+ finishJSTest();
+}
+
+function fieldsText(input) {
+ if (!window.internals)
+ return "";
+ var editElement = window.internals.oldestShadowRoot(input);
+ return editElement.textContent;
+}
+
+function finishTest() {
+ runTestCases();
+ document.body.removeChild(document.getElementById('container'));
+ finishJSTest();
+}
+
+function forward(newState) {
+ parent.state = newState;
+ history.forward();
+}
+
+function keyDown(key, modifiers) {
+ if (!window.eventSender)
+ return;
+ eventSender.keyDown(key, modifiers);
+}
+
+function runTestCases() {
+ for (var index = 0; index < testCases.length; ++index) {
+ var testCase = testCases[index];
+ debug(testCase['description'] + ':');
+ shouldBeEqualToString('"' + testCase['actual'] + '"', testCase['expected']);
+ }
+ debug('');
+}
+
+switch (pageName) {
+case '?page0':
+ iframe.src = location + '?page1';
+ break;
+
+case '?page1':
+ switch (parent.state) {
+ case 'direct': {
+ testInput1.value = '12012-W10';
+ testInput2.focus();
+ keyDown('upArrow'); // -> Week [01], yyyy
+ var nextUri = location.toString().replace('?page1', '?page2');
+ setTimeout(function () { window.location.href = nextUri; }, 0);
+ break;
+ }
+ case 'backTo1':
+ parent.testCases.push(
+ {
+ 'description' : 'Went back to a page. Checking a form control which had a full value',
+ 'actual' : testInput1.value,
+ 'expected' : '12012-W10' },
+ {
+ 'description' : 'Went back to a page. Checking a form control which had a partial value',
+ 'actual' : fieldsText(testInput2),
+ 'expected' : 'Week 01, ----'
+ });
+ forward('forwardTo2');
+ break;
+ case 'backTo1Second':
+ parent.finishTest();
+ break;
+ default:
+ failed('Unexpected state(' + parent.state + ')');
+ break;
+ }
+ break;
+
+case '?page2':
+ switch (parent.state) {
+ case 'direct':
+ testInput1.value = '0001-W11';
+ testInput2.focus();
+ keyDown('\t'); // -> Week ww, [yyyy]
+ keyDown('downArrow'); // -> Week ww, [1999]
+ back('backTo1');
+ break;
+ case 'forwardTo2':
+ parent.testCases.push(
+ {
+ 'description' : 'Went forward to a page. Checking a form control which had a full value',
+ 'actual' : testInput1.value,
+ 'expected' : '0001-W11'
+ },
+ {
+ 'description' : 'Went forward to a page. Checking a form control which had a partial value',
+ 'actual' : fieldsText(testInput2),
+ 'expected' : 'Week --, 1999'
+ });
+ back('backTo1Second');
+ break;
+ default:
+ failed('Unexpected state(' + parent.state + ')');
+ break;
+ }
+ break;
+
+default:
+ failed('Unexpected page(' + pageName + ')');
+ break;
+}
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads-expected.txt
new file mode 100644
index 0000000..59d0247
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads-expected.txt
@@ -0,0 +1,15 @@
+Checks reloading page resets input values
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Initial values:
+PASS testInput1.value is ""
+PASS testInput2.value is "1234-W05"
+Reloaded values:
+PASS testInput1.value is ""
+PASS testInput2.value is "1234-W05"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html
new file mode 100644
index 0000000..1c0162d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body onload="runBodyLoaded()">
+<iframe id=iframe srcdoc="<input type=week id='test1'><input type='week' id='test2' value='1234-W05'>"></iframe>
+<script>
+description('Checks reloading page resets input values');
+window.jsTestIsAsync = true;
+
+var iframe = document.getElementById('iframe');
+var testInput1;
+var testInput2;
+
+function runBodyLoaded()
+{
+ testInput1 = iframe.contentDocument.getElementById('test1');
+ testInput2 = iframe.contentDocument.getElementById('test2');
+ debug('Initial values:');
+ shouldBeEqualToString('testInput1.value', '');
+ shouldBeEqualToString('testInput2.value', '1234-W05');
+ testInput1.value = '2012-W10';
+ testInput2.value = '2012-W11';
+ iframe.addEventListener('load', parent.runOnIFrameLoad);
+ iframe.contentWindow.location.reload();
+}
+
+function runOnIFrameLoad()
+{
+ testInput1 = iframe.contentDocument.getElementById('test1');
+ testInput2 = iframe.contentDocument.getElementById('test2');
+ debug('Reloaded values:');
+ shouldBeEqualToString('testInput1.value', '');
+ shouldBeEqualToString('testInput2.value', '1234-W05');
+ iframe.parentNode.removeChild(iframe);
+ finishJSTest();
+}
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events-expected.txt
new file mode 100644
index 0000000..0edfc65
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events-expected.txt
@@ -0,0 +1,19 @@
+Test for event dispatching by spin buttons in a type=week input.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Initial state
+PASS changeEventCounter is 0
+PASS inputEventCounter is 0
+Click the upper button
+PASS testInput.value is "2012-W11"
+PASS changeEventCounter is 1
+PASS inputEventCounter is 1
+Focus on another field
+PASS changeEventCounter is 1
+PASS inputEventCounter is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events.html
new file mode 100644
index 0000000..29a25f7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-spinbutton-change-and-input-events.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/common-spinbutton-change-and-input-events.js"></script>
+</head>
+<body>
+<script>
+testSpinButtonChangeAndInputEvents('week', '2012-W10', '2012-W11');
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event-expected.txt
new file mode 100644
index 0000000..10ae9c7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event-expected.txt
@@ -0,0 +1,23 @@
+Test for wheel operations for <input type=week>
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Initial value is 1999-W01. We'll wheel up by 1:
+PASS input.value is "1999-W02"
+Wheel up by 100:
+PASS input.value is "1999-W03"
+Wheel down by 1:
+PASS input.value is "1999-W02"
+Wheel down by 256:
+PASS input.value is "1999-W01"
+Disabled input element:
+PASS input.value is "1999-W01"
+Read-only input element:
+PASS input.value is "1999-W01"
+No focus:
+PASS input.value is "1999-W01"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event.html
new file mode 100644
index 0000000..498f42f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-wheel-event.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+<script src="../resources/common-wheel-event.js"></script>
+</head>
+<body>
+<script>
+testWheelEvent({
+ 'inputType' : 'week',
+ 'initialValue' : '1999-W01',
+ 'stepUpValue1' : '1999-W02',
+ 'stepUpValue2' : '1999-W03' });
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>