summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields
diff options
context:
space:
mode:
authorkeishi@chromium.org <keishi@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2013-09-02 05:53:36 +0000
committerkeishi@chromium.org <keishi@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2013-09-02 05:53:36 +0000
commit73397edbd72c4c1e34357c03a7d1b1ef74705682 (patch)
tree41ef328b704afc607ea3bad59fb512ec5a739dd5 /third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields
parent1fbbe8b231af7d1507788910a1d06c3f82f0978f (diff)
downloadchromium_src-73397edbd72c4c1e34357c03a7d1b1ef74705682.zip
chromium_src-73397edbd72c4c1e34357c03a7d1b1ef74705682.tar.gz
chromium_src-73397edbd72c4c1e34357c03a7d1b1ef74705682.tar.bz2
Change event isn't firing when the user reverts the value of a color/date/time input after JS changed the value
Setting the value through the value property wasn't setting the textAsOfLastFormControlChangeEvent. So change events weren't firing when the user changes the value back to the one that was set before JS changed it. TEST=automated. BUG=244065 Review URL: https://chromiumcodereview.appspot.com/23851005 git-svn-id: svn://svn.chromium.org/blink/trunk@157061 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields')
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value-expected.txt17
-rw-r--r--third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value.html45
2 files changed, 62 insertions, 0 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value-expected.txt
new file mode 100644
index 0000000..a81ecfe
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value-expected.txt
@@ -0,0 +1,17 @@
+Test if change event fires when the user selects the default value after the value was changed by JS.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS input.value is "2001-W01"
+PASS eventsCounter.input is undefined.
+PASS eventsCounter.change is undefined.
+==> "input" event was dispatched.
+==> "change" event was dispatched.
+PASS input.value is "2000-W01"
+PASS eventsCounter.input is 1
+PASS eventsCounter.change is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value.html
new file mode 100644
index 0000000..0464828
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+<script src="../resources/common.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<input type="week" id="input" value="2000-W01">
+<script>
+description('Test if change event fires when the user selects the default value after the value was changed by JS.');
+
+var eventsCounter = {};
+function recordEvent(event) {
+ if (eventsCounter[event.type] === undefined)
+ eventsCounter[event.type] = 0;
+ eventsCounter[event.type]++;
+ debug('==> "' + event.type + '" event was dispatched.');
+}
+
+var input = document.getElementById('input');
+input.addEventListener('input', recordEvent, false);
+input.addEventListener('change', recordEvent, false);
+
+input.value = '2001-W01';
+
+shouldBeEqualToString('input.value', '2001-W01');
+shouldBeUndefined('eventsCounter.input');
+shouldBeUndefined('eventsCounter.change');
+
+// We assume the date format is Week ww, yyyy.
+
+input.focus();
+eventSender.keyDown('rightArrow');
+eventSender.keyDown('downArrow');
+
+shouldBeEqualToString('input.value', '2000-W01');
+shouldBe('eventsCounter.input', '1');
+shouldBe('eventsCounter.change', '1');
+
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>