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

Side by Side Diff: LayoutTests/platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html

Issue 14120003: Move LayoutTests from platform/chromium/... to generic location (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../../../../fast/js/resources/js-test-pre.js"></script>
5 <script src="../../../../../fast/forms/resources/picker-common.js"></script>
6 <script src="resources/calendar-picker-common.js"></script>
7 </head>
8 <body>
9 <p id="description"></p>
10 <div id="console"></div>
11 <input type=date id=date value="2000-01-02">
12 <script>
13 description("Tests if calendar picker key bindings work as expected.");
14
15 debug('Check that page popup doesn\'t exist at first.');
16 shouldBeNull('document.getElementById("mock-page-popup")');
17
18 openPicker(document.getElementById('date'), test1);
19
20 function test1() {
21 debug('Check that page popup exists.');
22 shouldBe('popupWindow.pagePopupController.toString()', '"[object PagePopupCo ntroller]"');
23
24 shouldBeFalse('isCalendarTableScrollingWithAnimation()');
25 shouldBeEqualToString('currentMonth()', '2000-01');
26 shouldBeEqualToString('selectedValue()', '2000-01-02');
27 shouldBeEqualToString('selectedDayCells()', '2000-01-02');
28 shouldBeEqualToString('highlightedValue()', '2000-01-02');
29 shouldBeEqualToString('highlightedDayCells()', '2000-01-02');
30
31 debug('Check that arrow keys work properly even when going between weeks and months.');
32
33 debug('press up');
34 eventSender.keyDown('upArrow');
35 shouldBeEqualToString('currentMonth()', '2000-01');
36 shouldBeEqualToString('selectedValue()', '2000-01-02');
37 shouldBeEqualToString('selectedDayCells()', '2000-01-02');
38 shouldBeEqualToString('highlightedValue()', '1999-12-26');
39 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
40
41 debug('press up');
42 eventSender.keyDown('upArrow');
43 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
44 shouldBeEqualToString('currentMonth()', '1999-12');
45 shouldBeEqualToString('selectedValue()', '2000-01-02');
46 shouldBeEqualToString('selectedDayCells()', '');
47 shouldBeEqualToString('highlightedValue()', '1999-12-19');
48 shouldBeEqualToString('highlightedDayCells()', '1999-12-19');
49
50 debug('press down');
51 eventSender.keyDown('downArrow');
52 shouldBeEqualToString('currentMonth()', '1999-12');
53 shouldBeEqualToString('selectedValue()', '2000-01-02');
54 shouldBeEqualToString('selectedDayCells()', '');
55 shouldBeEqualToString('highlightedValue()', '1999-12-26');
56 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
57
58 debug('press down');
59 eventSender.keyDown('downArrow');
60 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
61 shouldBeEqualToString('currentMonth()', '2000-01');
62 shouldBeEqualToString('selectedValue()', '2000-01-02');
63 shouldBeEqualToString('selectedDayCells()', '2000-01-02');
64 shouldBeEqualToString('highlightedValue()', '2000-01-02');
65 shouldBeEqualToString('highlightedDayCells()', '2000-01-02');
66
67 debug('press up');
68 eventSender.keyDown('upArrow');
69 shouldBeEqualToString('currentMonth()', '2000-01');
70 shouldBeEqualToString('selectedValue()', '2000-01-02');
71 shouldBeEqualToString('selectedDayCells()', '2000-01-02');
72 shouldBeEqualToString('highlightedValue()', '1999-12-26');
73 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
74
75 // Move from top left of January 2000 to bottom right of December 1999.
76 debug('press left');
77 eventSender.keyDown('leftArrow');
78 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
79 shouldBeEqualToString('currentMonth()', '1999-12');
80 shouldBeEqualToString('selectedValue()', '2000-01-02');
81 shouldBeEqualToString('selectedDayCells()', '');
82 shouldBeEqualToString('highlightedValue()', '1999-12-25');
83 shouldBeEqualToString('highlightedDayCells()', '1999-12-25');
84
85 debug('press right');
86 eventSender.keyDown('rightArrow');
87 shouldBeEqualToString('currentMonth()', '1999-12');
88 shouldBeEqualToString('selectedValue()', '2000-01-02');
89 shouldBeEqualToString('selectedDayCells()', '');
90 shouldBeEqualToString('highlightedValue()', '1999-12-26');
91 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
92
93 debug("press pageDown");
94 eventSender.keyDown('pageDown');
95 shouldBeEqualToString('currentMonth()', '2000-01');
96 shouldBeEqualToString('selectedValue()', '2000-01-02');
97 shouldBeEqualToString('selectedDayCells()', '2000-01-02');
98 shouldBeEqualToString('highlightedValue()', '1999-12-26');
99 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
100
101 debug("press pageUp");
102 eventSender.keyDown('pageUp');
103 shouldBeEqualToString('currentMonth()', '1999-12');
104 shouldBeEqualToString('selectedValue()', '2000-01-02');
105 shouldBeEqualToString('selectedDayCells()', '');
106 shouldBeEqualToString('highlightedValue()', '1999-12-26');
107 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
108
109 debug("press m");
110 eventSender.keyDown('m');
111 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
112 shouldBeEqualToString('currentMonth()', '2000-01');
113 shouldBeEqualToString('selectedValue()', '2000-01-02');
114 shouldBeEqualToString('selectedDayCells()', '2000-01-02');
115 shouldBeEqualToString('highlightedValue()', '2000-01-23');
116 shouldBeEqualToString('highlightedDayCells()', '2000-01-23');
117
118 debug("press shift + m");
119 eventSender.keyDown('M');
120 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
121 shouldBeEqualToString('currentMonth()', '1999-12');
122 shouldBeEqualToString('selectedValue()', '2000-01-02');
123 shouldBeEqualToString('selectedDayCells()', '');
124 shouldBeEqualToString('highlightedValue()', '1999-12-26');
125 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
126
127 debug("press y");
128 eventSender.keyDown('y');
129 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
130 shouldBeEqualToString('currentMonth()', '2000-12');
131 shouldBeEqualToString('selectedValue()', '2000-01-02');
132 shouldBeEqualToString('selectedDayCells()', '');
133 shouldBeEqualToString('highlightedValue()', '2000-12-24');
134 shouldBeEqualToString('highlightedDayCells()', '2000-12-24');
135
136 debug("press shift + y");
137 eventSender.keyDown('Y');
138 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
139 shouldBeEqualToString('currentMonth()', '1999-12');
140 shouldBeEqualToString('selectedValue()', '2000-01-02');
141 shouldBeEqualToString('selectedDayCells()', '');
142 shouldBeEqualToString('highlightedValue()', '1999-12-26');
143 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
144
145 debug("press d");
146 eventSender.keyDown('d');
147 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
148 shouldBeEqualToString('currentMonth()', '2009-12');
149 shouldBeEqualToString('selectedValue()', '2000-01-02');
150 shouldBeEqualToString('selectedDayCells()', '');
151 shouldBeEqualToString('highlightedValue()', '2009-12-27');
152 shouldBeEqualToString('highlightedDayCells()', '2009-12-27');
153
154 debug("press shift + d");
155 eventSender.keyDown('D');
156 shouldBeTrue('isCalendarTableScrollingWithAnimation()');
157 shouldBeEqualToString('currentMonth()', '1999-12');
158 shouldBeEqualToString('selectedValue()', '2000-01-02');
159 shouldBeEqualToString('selectedDayCells()', '');
160 shouldBeEqualToString('highlightedValue()', '1999-12-26');
161 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
162
163 debug("press enter");
164 eventSender.keyDown('\n');
165 shouldBeEqualToString('currentMonth()', '1999-12');
166 shouldBeEqualToString('selectedValue()', '1999-12-26');
167 shouldBeEqualToString('selectedDayCells()', '1999-12-26');
168 shouldBeEqualToString('highlightedValue()', '1999-12-26');
169 shouldBeEqualToString('highlightedDayCells()', '1999-12-26');
170 shouldBeEqualToString('document.getElementById("date").value', '1999-12-26') ;
171
172 debug('Check if tabbing works.');
173 shouldBeEqualToString('focusedElement()', '.list-view calendar-table-view');
174 eventSender.keyDown('\t', ['shiftKey']);
175 shouldBeEqualToString('focusedElement()', '.calendar-navigation-button');
176 eventSender.keyDown('\t', ['shiftKey']);
177 shouldBeEqualToString('focusedElement()', '.calendar-navigation-button today -button');
178 eventSender.keyDown('\t', ['shiftKey']);
179 shouldBeEqualToString('focusedElement()', '.calendar-navigation-button');
180 eventSender.keyDown('\t', ['shiftKey']);
181 shouldBeEqualToString('focusedElement()', '.month-popup-button');
182
183 debug('open the month popup');
184 eventSender.keyDown('\n');
185 shouldBeTrue('popupWindow.global.picker.monthPopupView.isVisible');
186 shouldBeEqualToString('highlightedMonthButton()', '1999-12');
187
188 debug("press down");
189 eventSender.keyDown('downArrow');
190 shouldBeEqualToString('highlightedMonthButton()', '2000-04');
191
192 debug("press right");
193 eventSender.keyDown('rightArrow');
194 shouldBeEqualToString('highlightedMonthButton()', '2000-05');
195
196 debug("press right");
197 eventSender.keyDown('rightArrow');
198 shouldBeEqualToString('highlightedMonthButton()', '2000-06');
199
200 debug("press right");
201 eventSender.keyDown('rightArrow');
202 shouldBeEqualToString('highlightedMonthButton()', '2000-07');
203
204 debug("press right");
205 eventSender.keyDown('rightArrow');
206 shouldBeEqualToString('highlightedMonthButton()', '2000-08');
207
208 debug("press right");
209 eventSender.keyDown('rightArrow');
210 shouldBeEqualToString('highlightedMonthButton()', '2000-09');
211
212 debug("press left");
213 eventSender.keyDown('leftArrow');
214 shouldBeEqualToString('highlightedMonthButton()', '2000-08');
215
216 debug("press up");
217 eventSender.keyDown('upArrow');
218 shouldBeEqualToString('highlightedMonthButton()', '2000-04');
219
220 debug("press pageDown");
221 eventSender.keyDown('pageDown');
222 shouldBeEqualToString('highlightedMonthButton()', '2001-04');
223
224 debug("press pageUp");
225 eventSender.keyDown('pageUp');
226 shouldBeEqualToString('highlightedMonthButton()', '2000-04');
227
228 debug('select month in the month popup');
229 eventSender.keyDown('\n');
230 shouldBeFalse('popupWindow.global.picker.monthPopupView.isVisible');
231 shouldBeEqualToString('currentMonth()', '2000-04');
232 shouldBeEqualToString('selectedValue()', '1999-12-26');
233 shouldBeEqualToString('selectedDayCells()', '');
234 shouldBeEqualToString('highlightedValue()', '1999-12-26');
235 shouldBeEqualToString('highlightedDayCells()', '');
236
237 debug("focus calendar table");
238 popupWindow.global.picker.calendarTableView.element.focus();
239
240 // Test twice in case midnight.
241 debug("press t");
242 shouldBeTrue('testToday() || testToday()');
243
244 debug("press esc");
245 eventSender.keyDown('\x1B');
246 waitUntilClosing(test2AfterClosing);
247 }
248
249 function test2AfterClosing() {
250 shouldBeNull('document.getElementById("mock-page-popup")');
251
252 finishJSTest();
253 }
254
255 function testToday() {
256 eventSender.keyDown('t');
257 shouldBeTrue('isCalendarTableScrollingWithAnimation()', true /* quiet */);
258 var now = new Date();
259 var expectedDate = serializeDate(now.getFullYear(), now.getMonth(), now.getD ate());
260 var expectedMonth = (new popupWindow.Month(now.getFullYear(), now.getMonth() )).toString();
261 return selectedValue() === expectedDate &&
262 highlightedValue() === expectedDate &&
263 currentMonth() === expectedMonth &&
264 document.getElementById("date").value === expectedDate;
265 }
266
267 function serializeDate(year, month, day) {
268 var yearString = String(year);
269 if (yearString.length < 4)
270 yearString = ("000" + yearString).substr(-4, 4);
271 return yearString + "-" + ("0" + (month + 1)).substr(-2, 2) + "-" + ("0" + d ay).substr(-2, 2);
272 }
273
274 function focusedElement() {
275 var element = popupWindow.document.activeElement;
276 if (!element)
277 return null;
278 var identifier = "." + element.className;
279 if (element.value)
280 identifier += "[value=" + element.value + "]";
281 return identifier;
282 }
283
284 </script>
285 <script src="../../../../../fast/js/resources/js-test-post.js"></script>
286 </body>
287 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698