Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html

Issue 2045603002: Handle the "key" field as opposed to keyIdentifier field. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove initialization of the view Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../../resources/js-test.js"></script> 4 <script src="../../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <p id="description"></p> 7 <p id="description"></p>
8 <p> 8 <p>
9 Please run this with DumpRenderTree. 9 Please run this with DumpRenderTree.
10 </p> 10 </p>
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 beginTest('Digit keys starting with zero'); 71 beginTest('Digit keys starting with zero');
72 keyDown('0'); // -> [00]:-- -- 72 keyDown('0'); // -> [00]:-- --
73 keyDown('2'); // -> 02:[--] -- 73 keyDown('2'); // -> 02:[--] --
74 keyDown('0'); // -> 02:[00] -- 74 keyDown('0'); // -> 02:[00] --
75 keyDown('3'); // -> 02:03 [--] 75 keyDown('3'); // -> 02:03 [--]
76 keyDown('P'); // -> 02:03 [PM] 76 keyDown('P'); // -> 02:03 [PM]
77 shouldBeEqualToString('input.value', '14:03'); 77 shouldBeEqualToString('input.value', '14:03');
78 78
79 beginTest('Digit keys and backspace key','01:01'); 79 beginTest('Digit keys and backspace key','01:01');
80 keyDown('0'); // -> [00]:-- -- 80 keyDown('0'); // -> [00]:-- --
81 keyDown('\b'); // -> [--]:-- -- 81 keyDown('Backspace'); // -> [--]:-- --
82 keyDown('5'); // -> 05:[--] -- 82 keyDown('5'); // -> 05:[--] --
83 keyDown('6'); // -> 05:06 [--] 83 keyDown('6'); // -> 05:06 [--]
84 keyDown('\b'); // -> 05:06 [--] 84 keyDown('Backspace'); // -> 05:06 [--]
85 keyDown('P'); // -> 05:06 [PM] 85 keyDown('P'); // -> 05:06 [PM]
86 shouldBeEqualToString('input.value', '17:06'); 86 shouldBeEqualToString('input.value', '17:06');
87 87
88 beginTest('Left/Right keys', '01:24'); 88 beginTest('Left/Right keys', '01:24');
89 keyDown('rightArrow'); 89 keyDown('ArrowRight');
90 keyDown('5'); 90 keyDown('5');
91 keyDown('leftArrow'); 91 keyDown('ArrowLeft');
92 keyDown('6'); 92 keyDown('6');
93 shouldBeEqualToString('input.value', '06:05'); 93 shouldBeEqualToString('input.value', '06:05');
94 keyDown('leftArrow'); 94 keyDown('ArrowLeft');
95 keyDown('leftArrow'); 95 keyDown('ArrowLeft');
96 keyDown('leftArrow'); 96 keyDown('ArrowLeft');
97 shouldBeEqualToString('document.activeElement.id', 'input'); 97 shouldBeEqualToString('document.activeElement.id', 'input');
98 98
99 beginTest('Up/Down keys', '04:56'); 99 beginTest('Up/Down keys', '04:56');
100 keyDown('upArrow'); 100 keyDown('ArrowUp');
101 shouldBeEqualToString('input.value', '05:56'); 101 shouldBeEqualToString('input.value', '05:56');
102 keyDown('downArrow'); 102 keyDown('ArrowDown');
103 keyDown('downArrow'); 103 keyDown('ArrowDown');
104 shouldBeEqualToString('input.value', '03:56'); 104 shouldBeEqualToString('input.value', '03:56');
105 105
106 beginTest('Up/Down keys on empty value', ''); 106 beginTest('Up/Down keys on empty value', '');
107 eventsCounter = {}; 107 eventsCounter = {};
108 keyDown('upArrow'); // -> [01]:-- -- 108 keyDown('ArrowUp'); // -> [01]:-- --
109 keyDown('upArrow'); // -> [02]:-- -- 109 keyDown('ArrowUp'); // -> [02]:-- --
110 keyDown('rightArrow'); // -> 02:[--] -- 110 keyDown('ArrowRight'); // -> 02:[--] --
111 keyDown('downArrow'); // -> 02:[59] -- 111 keyDown('ArrowDown'); // -> 02:[59] --
112 keyDown('downArrow'); // -> 02:[58] -- 112 keyDown('ArrowDown'); // -> 02:[58] --
113 keyDown('rightArrow'); // -> 02:58 [--] 113 keyDown('ArrowRight'); // -> 02:58 [--]
114 shouldBeUndefined('eventsCounter.input'); 114 shouldBeUndefined('eventsCounter.input');
115 shouldBeUndefined('eventsCounter.change'); 115 shouldBeUndefined('eventsCounter.change');
116 keyDown('downArrow'); // -> 02:58 [PM] 116 keyDown('ArrowDown'); // -> 02:58 [PM]
117 shouldBeEqualToString('input.value', '14:58'); 117 shouldBeEqualToString('input.value', '14:58');
118 shouldBe('eventsCounter.input', '1'); 118 shouldBe('eventsCounter.input', '1');
119 shouldBe('eventsCounter.change', '1'); 119 shouldBe('eventsCounter.change', '1');
120 120
121 beginTest('Tab key', '03:00'); 121 beginTest('Tab key', '03:00');
122 keyDown('\t'); 122 keyDown('\t');
123 keyDown('5'); 123 keyDown('5');
124 shouldBeEqualToString('input.value', '03:05'); 124 shouldBeEqualToString('input.value', '03:05');
125 keyDown('\t', ['shiftKey']); 125 keyDown('\t', ['shiftKey']);
126 keyDown('7'); 126 keyDown('7');
127 shouldBeEqualToString('input.value', '07:05'); 127 shouldBeEqualToString('input.value', '07:05');
128 keyDown('\t'); 128 keyDown('\t');
129 keyDown('\t'); 129 keyDown('\t');
130 shouldBeEqualToString('document.activeElement.id', 'another'); 130 shouldBeEqualToString('document.activeElement.id', 'another');
131 131
132 beginTest('Tab navigation should skip disabled inputs', ''); 132 beginTest('Tab navigation should skip disabled inputs', '');
133 before.focus(); 133 before.focus();
134 input.disabled = true; 134 input.disabled = true;
135 keyDown('\t'); 135 keyDown('\t');
136 shouldBeEqualToString('document.activeElement.id', 'another'); 136 shouldBeEqualToString('document.activeElement.id', 'another');
137 input.disabled = false; 137 input.disabled = false;
138 138
139 beginTest('Tab navigation should not skip readonly inputs, but editing operation s should be ignored.', ''); 139 beginTest('Tab navigation should not skip readonly inputs, but editing operation s should be ignored.', '');
140 before.focus(); 140 before.focus();
141 input.value = '01:01'; 141 input.value = '01:01';
142 input.readOnly = true; 142 input.readOnly = true;
143 keyDown('\t'); 143 keyDown('\t');
144 shouldBeEqualToString('document.activeElement.id', 'input'); 144 shouldBeEqualToString('document.activeElement.id', 'input');
145 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-hour-field'); 145 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-hour-field');
146 shouldBeEqualToString('keyDown("upArrow"); input.value', '01:01'); 146 shouldBeEqualToString('keyDown("ArrowUp"); input.value', '01:01');
147 shouldBeEqualToString('keyDown("downArrow"); input.value', '01:01'); 147 shouldBeEqualToString('keyDown("ArrowDown"); input.value', '01:01');
148 keyDown('rightArrow'); 148 keyDown('ArrowRight');
149 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-minute-field'); 149 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-minute-field');
150 shouldBeEqualToString('keyDown("3"); input.value', '01:01'); 150 shouldBeEqualToString('keyDown("3"); input.value', '01:01');
151 keyDown('\t'); 151 keyDown('\t');
152 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-ampm-field'); 152 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-ampm-field');
153 keyDown('leftArrow'); 153 keyDown('ArrowLeft');
154 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-minute-field'); 154 shouldBeEqualToString('shadowPseudoIdOfFocusedSubField(input)', '-webkit-datetim e-edit-minute-field');
155 keyDown('\t'); 155 keyDown('\t');
156 keyDown('\t'); 156 keyDown('\t');
157 shouldBeEqualToString('document.activeElement.id', 'another'); 157 shouldBeEqualToString('document.activeElement.id', 'another');
158 input.readOnly = false; 158 input.readOnly = false;
159 159
160 beginTest('Shfit+Tab key', '03:00'); 160 beginTest('Shfit+Tab key', '03:00');
161 another.focus(); 161 another.focus();
162 keyDown('\t', ['shiftKey']); 162 keyDown('\t', ['shiftKey']);
163 keyDown('P'); 163 keyDown('P');
164 shouldBeEqualToString('input.value', '15:00'); 164 shouldBeEqualToString('input.value', '15:00');
165 keyDown('\t', ['shiftKey']); 165 keyDown('\t', ['shiftKey']);
166 keyDown('3'); 166 keyDown('3');
167 shouldBeEqualToString('input.value', '15:03'); 167 shouldBeEqualToString('input.value', '15:03');
168 keyDown('\t', ['shiftKey']); 168 keyDown('\t', ['shiftKey']);
169 keyDown('\t', ['shiftKey']); 169 keyDown('\t', ['shiftKey']);
170 shouldBeEqualToString('document.activeElement.id', 'before'); 170 shouldBeEqualToString('document.activeElement.id', 'before');
171 171
172 beginTest('Up key on maximum value', '12:59:59.999'); 172 beginTest('Up key on maximum value', '12:59:59.999');
173 keyDown('upArrow'); 173 keyDown('ArrowUp');
174 keyDown('\t'); 174 keyDown('\t');
175 keyDown('upArrow'); 175 keyDown('ArrowUp');
176 keyDown('\t'); 176 keyDown('\t');
177 keyDown('upArrow'); 177 keyDown('ArrowUp');
178 keyDown('\t'); 178 keyDown('\t');
179 keyDown('upArrow'); 179 keyDown('ArrowUp');
180 shouldBeEqualToString('input.value', '13:00'); 180 shouldBeEqualToString('input.value', '13:00');
181 181
182 beginTest('Down key on minimum value', '01:00'); 182 beginTest('Down key on minimum value', '01:00');
183 input.step = 0.001; 183 input.step = 0.001;
184 keyDown('downArrow'); 184 keyDown('ArrowDown');
185 keyDown('\t'); 185 keyDown('\t');
186 keyDown('downArrow'); 186 keyDown('ArrowDown');
187 keyDown('\t'); 187 keyDown('\t');
188 keyDown('downArrow'); 188 keyDown('ArrowDown');
189 keyDown('\t'); 189 keyDown('\t');
190 keyDown('downArrow'); 190 keyDown('ArrowDown');
191 shouldBeEqualToString('input.value', '00:59:59.999'); 191 shouldBeEqualToString('input.value', '00:59:59.999');
192 input.step = 60; 192 input.step = 60;
193 193
194 beginTest('Backspace key', '12:34'); 194 beginTest('Backspace key', '12:34');
195 keyDown("\b"); 195 keyDown("Backspace");
196 shouldBeEqualToString('input.value', ''); 196 shouldBeEqualToString('input.value', '');
197 197
198 beginTest('Delete key', '12:34'); 198 beginTest('Delete key', '12:34');
199 keyDown("delete"); 199 keyDown("Delete");
200 shouldBeEqualToString('input.value', ''); 200 shouldBeEqualToString('input.value', '');
201 201
202 beginTest('Typeahead', '12:34:56'); 202 beginTest('Typeahead', '12:34:56');
203 keyDown('rightArrow'); 203 keyDown('ArrowRight');
204 keyDown('1'); 204 keyDown('1');
205 shouldBeEqualToString('input.value', '12:01:56'); 205 shouldBeEqualToString('input.value', '12:01:56');
206 keyDown('rightArrow'); 206 keyDown('ArrowRight');
207 keyDown('leftArrow'); 207 keyDown('ArrowLeft');
208 keyDown('2'); 208 keyDown('2');
209 shouldBeEqualToString('input.value', '12:02:56'); 209 shouldBeEqualToString('input.value', '12:02:56');
210 210
211 input.setAttribute("lang", "he-il"); 211 input.setAttribute("lang", "he-il");
212 beginTest('RTL focus navigation', '04:56'); 212 beginTest('RTL focus navigation', '04:56');
213 debug('The tests in this block fail on platforms without the lang-attribute-awar e-form-control-UI feature.'); 213 debug('The tests in this block fail on platforms without the lang-attribute-awar e-form-control-UI feature.');
214 keyDown('1'); // -> [01]:56 214 keyDown('1'); // -> [01]:56
215 shouldBeEqualToString('input.value', '01:56'); 215 shouldBeEqualToString('input.value', '01:56');
216 keyDown('\t'); // -> 01:[56] 216 keyDown('\t'); // -> 01:[56]
217 keyDown('2'); // -> 01:[02] 217 keyDown('2'); // -> 01:[02]
218 shouldBeEqualToString('input.value', '01:02'); 218 shouldBeEqualToString('input.value', '01:02');
219 keyDown('\t', ['shiftKey']); // -> [01]:02 219 keyDown('\t', ['shiftKey']); // -> [01]:02
220 keyDown('3'); // -> [03]:02 220 keyDown('3'); // -> [03]:02
221 shouldBeEqualToString('input.value', '03:02'); 221 shouldBeEqualToString('input.value', '03:02');
222 input.removeAttribute("lang"); 222 input.removeAttribute("lang");
223 </script> 223 </script>
224 </body> 224 </body>
225 </html> 225 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698