OLD | NEW |
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 29 matching lines...) Loading... |
40 input.min = opt_min ? opt_min : ""; | 40 input.min = opt_min ? opt_min : ""; |
41 input.max = opt_max ? opt_max : ""; | 41 input.max = opt_max ? opt_max : ""; |
42 input.blur(); | 42 input.blur(); |
43 input.focus(); | 43 input.focus(); |
44 } | 44 } |
45 | 45 |
46 // We assume the year-month format is "MMM yyyy". | 46 // We assume the year-month format is "MMM yyyy". |
47 | 47 |
48 beginTest('Digit keys'); | 48 beginTest('Digit keys'); |
49 keyDown('s'); | 49 keyDown('s'); |
50 keyDown('rightArrow'); | 50 keyDown('ArrowRight'); |
51 keyDown('0'); | 51 keyDown('0'); |
52 keyDown('1'); | 52 keyDown('1'); |
53 keyDown('2'); | 53 keyDown('2'); |
54 keyDown('A'); | 54 keyDown('A'); |
55 shouldBeEqualToString('input.value', '0012-09'); | 55 shouldBeEqualToString('input.value', '0012-09'); |
56 | 56 |
57 beginTest('Left/Right keys', '2012-09'); | 57 beginTest('Left/Right keys', '2012-09'); |
58 keyDown('rightArrow'); | 58 keyDown('ArrowRight'); |
59 keyDown('5'); | 59 keyDown('5'); |
60 keyDown('leftArrow'); | 60 keyDown('ArrowLeft'); |
61 keyDown('6'); | 61 keyDown('6'); |
62 shouldBeEqualToString('input.value', '0005-06'); | 62 shouldBeEqualToString('input.value', '0005-06'); |
63 keyDown('leftArrow'); | 63 keyDown('ArrowLeft'); |
64 keyDown('leftArrow'); | 64 keyDown('ArrowLeft'); |
65 keyDown('leftArrow'); | 65 keyDown('ArrowLeft'); |
66 shouldBeEqualToString('document.activeElement.id', 'input'); | 66 shouldBeEqualToString('document.activeElement.id', 'input'); |
67 | 67 |
68 beginTest('Up/Down keys', '2012-09'); | 68 beginTest('Up/Down keys', '2012-09'); |
69 keyDown('upArrow'); | 69 keyDown('ArrowUp'); |
70 shouldBeEqualToString('input.value', '2012-10'); | 70 shouldBeEqualToString('input.value', '2012-10'); |
71 keyDown('downArrow'); | 71 keyDown('ArrowDown'); |
72 keyDown('downArrow'); | 72 keyDown('ArrowDown'); |
73 shouldBeEqualToString('input.value', '2012-08'); | 73 shouldBeEqualToString('input.value', '2012-08'); |
74 | 74 |
75 // Note that empty value for the year field without min/max attributes is not | 75 // Note that empty value for the year field without min/max attributes is not |
76 // testable because its default value depends on the current date. | 76 // testable because its default value depends on the current date. |
77 beginTest('Up/Down keys on empty value', '', '2012-01'); | 77 beginTest('Up/Down keys on empty value', '', '2012-01'); |
78 keyDown('downArrow'); | 78 keyDown('ArrowDown'); |
79 keyDown('downArrow'); | 79 keyDown('ArrowDown'); |
80 keyDown('rightArrow'); | 80 keyDown('ArrowRight'); |
81 keyDown('upArrow'); | 81 keyDown('ArrowUp'); |
82 keyDown('upArrow'); | 82 keyDown('ArrowUp'); |
83 keyDown('downArrow'); | 83 keyDown('ArrowDown'); |
84 shouldBeEqualToString('input.value', '2012-11'); | 84 shouldBeEqualToString('input.value', '2012-11'); |
85 | 85 |
86 beginTest('Up/Down keys on empty value 2', '', undefined, '2012-01'); | 86 beginTest('Up/Down keys on empty value 2', '', undefined, '2012-01'); |
87 keyDown('upArrow'); | 87 keyDown('ArrowUp'); |
88 keyDown('upArrow'); | 88 keyDown('ArrowUp'); |
89 keyDown('rightArrow'); | 89 keyDown('ArrowRight'); |
90 keyDown('downArrow'); | 90 keyDown('ArrowDown'); |
91 keyDown('downArrow'); | 91 keyDown('ArrowDown'); |
92 keyDown('upArrow'); | 92 keyDown('ArrowUp'); |
93 shouldBeEqualToString('input.value', '2012-02'); | 93 shouldBeEqualToString('input.value', '2012-02'); |
94 | 94 |
95 beginTest('Tab key', '2012-09'); | 95 beginTest('Tab key', '2012-09'); |
96 keyDown('\t'); // -> Sep [2012] | 96 keyDown('\t'); // -> Sep [2012] |
97 keyDown('5'); // -> Sep [0005] | 97 keyDown('5'); // -> Sep [0005] |
98 shouldBeEqualToString('input.value', '0005-09'); | 98 shouldBeEqualToString('input.value', '0005-09'); |
99 keyDown('\t', ['shiftKey']); // -> [Sep] [0005] | 99 keyDown('\t', ['shiftKey']); // -> [Sep] [0005] |
100 keyDown('J'); // -> [Jan] 0005 | 100 keyDown('J'); // -> [Jan] 0005 |
101 shouldBeEqualToString('input.value', '0005-01'); | 101 shouldBeEqualToString('input.value', '0005-01'); |
102 keyDown('\t'); // -> Jan [0005] | 102 keyDown('\t'); // -> Jan [0005] |
103 keyDown('\t'); // -> Jan 0005 | 103 keyDown('\t'); // -> Jan 0005 |
104 shouldBeEqualToString('document.activeElement.id', 'another'); | 104 shouldBeEqualToString('document.activeElement.id', 'another'); |
105 | 105 |
106 beginTest('Shfit+Tab key', '2012-09'); | 106 beginTest('Shfit+Tab key', '2012-09'); |
107 another.focus(); | 107 another.focus(); |
108 keyDown('\t', ['shiftKey']); | 108 keyDown('\t', ['shiftKey']); |
109 keyDown('3'); | 109 keyDown('3'); |
110 shouldBeEqualToString('input.value', '0003-09'); | 110 shouldBeEqualToString('input.value', '0003-09'); |
111 keyDown('\t', ['shiftKey']); | 111 keyDown('\t', ['shiftKey']); |
112 keyDown('\t', ['shiftKey']); | 112 keyDown('\t', ['shiftKey']); |
113 shouldBeEqualToString('document.activeElement.id', 'before'); | 113 shouldBeEqualToString('document.activeElement.id', 'before'); |
114 | 114 |
115 beginTest('Up key on maximum value', '275760-09'); | 115 beginTest('Up key on maximum value', '275760-09'); |
116 keyDown('upArrow'); | 116 keyDown('ArrowUp'); |
117 keyDown('\t'); | 117 keyDown('\t'); |
118 keyDown('upArrow'); | 118 keyDown('ArrowUp'); |
119 shouldBeEqualToString('input.value', '0001-10'); | 119 shouldBeEqualToString('input.value', '0001-10'); |
120 beginTest('Up key with a maximum attribute', '1999-12', undefined, '1999-12'); | 120 beginTest('Up key with a maximum attribute', '1999-12', undefined, '1999-12'); |
121 keyDown('upArrow'); | 121 keyDown('ArrowUp'); |
122 keyDown('\t'); | 122 keyDown('\t'); |
123 keyDown('upArrow'); | 123 keyDown('ArrowUp'); |
124 shouldBeEqualToString('input.value', '0001-01'); | 124 shouldBeEqualToString('input.value', '0001-01'); |
125 | 125 |
126 beginTest('Down key on minimum value', '0001-01', 'bad min', 'wrong max'); | 126 beginTest('Down key on minimum value', '0001-01', 'bad min', 'wrong max'); |
127 keyDown('downArrow'); // -> 0001-12 | 127 keyDown('ArrowDown'); // -> 0001-12 |
128 keyDown('\t'); | 128 keyDown('\t'); |
129 keyDown('downArrow'); // -> 275760-12, which is greater than the hard limit. | 129 keyDown('ArrowDown'); // -> 275760-12, which is greater than the hard limit. |
130 shouldBeEqualToString('input.value', ''); | 130 shouldBeEqualToString('input.value', ''); |
131 beginTest('Down key with a minimum attribute', '0001-01', '0001-01'); | 131 beginTest('Down key with a minimum attribute', '0001-01', '0001-01'); |
132 keyDown('downArrow'); // -> 0001-12 | 132 keyDown('ArrowDown'); // -> 0001-12 |
133 keyDown('\t'); | 133 keyDown('\t'); |
134 keyDown('downArrow'); // -> 275760-12, which is greater than the hard limit. | 134 keyDown('ArrowDown'); // -> 275760-12, which is greater than the hard limit. |
135 shouldBeEqualToString('input.value', ''); | 135 shouldBeEqualToString('input.value', ''); |
136 | 136 |
137 beginTest('Inconsistent min-max attributes', '1999-12', '1999-12', '1000-01'); | 137 beginTest('Inconsistent min-max attributes', '1999-12', '1999-12', '1000-01'); |
138 keyDown('\t'); | 138 keyDown('\t'); |
139 keyDown('upArrow'); | 139 keyDown('ArrowUp'); |
140 shouldBeEqualToString('input.value', '1000-12'); | 140 shouldBeEqualToString('input.value', '1000-12'); |
141 keyDown('downArrow'); | 141 keyDown('ArrowDown'); |
142 shouldBeEqualToString('input.value', '1999-12'); | 142 shouldBeEqualToString('input.value', '1999-12'); |
143 | 143 |
144 beginTest('Backspace key', '2012-09'); | 144 beginTest('Backspace key', '2012-09'); |
145 keyDown("\b"); | 145 keyDown("Backspace"); |
146 shouldBeEqualToString('input.value', ''); | 146 shouldBeEqualToString('input.value', ''); |
147 | 147 |
148 beginTest('Delete key', '2012-09'); | 148 beginTest('Delete key', '2012-09'); |
149 keyDown("delete"); | 149 keyDown("Delete"); |
150 shouldBeEqualToString('input.value', ''); | 150 shouldBeEqualToString('input.value', ''); |
151 | 151 |
152 beginTest('Typeahead', '2012-12'); | 152 beginTest('Typeahead', '2012-12'); |
153 keyDown('rightArrow'); | 153 keyDown('ArrowRight'); |
154 keyDown('1'); | 154 keyDown('1'); |
155 shouldBeEqualToString('input.value', '0001-12'); | 155 shouldBeEqualToString('input.value', '0001-12'); |
156 keyDown('leftArrow'); | 156 keyDown('ArrowLeft'); |
157 keyDown('rightArrow'); | 157 keyDown('ArrowRight'); |
158 keyDown('2'); | 158 keyDown('2'); |
159 shouldBeEqualToString('input.value', '0002-12'); | 159 shouldBeEqualToString('input.value', '0002-12'); |
160 | 160 |
161 beginTest('Typeahead cycle first character', '2012-09'); | 161 beginTest('Typeahead cycle first character', '2012-09'); |
162 keyDown('j'); // -> [Jan] 2012 | 162 keyDown('j'); // -> [Jan] 2012 |
163 shouldBeEqualToString('input.value', '2012-01'); | 163 shouldBeEqualToString('input.value', '2012-01'); |
164 keyDown('j'); // -> [Jun] 2012 | 164 keyDown('j'); // -> [Jun] 2012 |
165 shouldBeEqualToString('input.value', '2012-06'); | 165 shouldBeEqualToString('input.value', '2012-06'); |
166 keyDown('j'); // -> [Jul] 2012 | 166 keyDown('j'); // -> [Jul] 2012 |
167 shouldBeEqualToString('input.value', '2012-07'); | 167 shouldBeEqualToString('input.value', '2012-07'); |
(...skipping 20 matching lines...) Loading... |
188 keyDown('x'); // -> [Dec] 2012 | 188 keyDown('x'); // -> [Dec] 2012 |
189 shouldBeEqualToString('input.value', '2012-12'); | 189 shouldBeEqualToString('input.value', '2012-12'); |
190 | 190 |
191 beginTest('Typeahead should search from current selection', '2012-01'); | 191 beginTest('Typeahead should search from current selection', '2012-01'); |
192 keyDown('j'); // -> [Jun] 2012 | 192 keyDown('j'); // -> [Jun] 2012 |
193 shouldBeEqualToString('input.value', '2012-06'); | 193 shouldBeEqualToString('input.value', '2012-06'); |
194 | 194 |
195 input.setAttribute("lang", "he-il"); | 195 input.setAttribute("lang", "he-il"); |
196 beginTest('RTL focus navigation', '2012-09'); | 196 beginTest('RTL focus navigation', '2012-09'); |
197 debug('The tests in this block fail on platforms without the lang-attribute-awar
e-form-control-UI feature.'); | 197 debug('The tests in this block fail on platforms without the lang-attribute-awar
e-form-control-UI feature.'); |
198 keyDown('upArrow'); // -> 2012 [M10] | 198 keyDown('ArrowUp'); // -> 2012 [M10] |
199 shouldBeEqualToString('input.value', '2012-10'); | 199 shouldBeEqualToString('input.value', '2012-10'); |
200 keyDown('\t'); // -> [2012] M10 | 200 keyDown('\t'); // -> [2012] M10 |
201 keyDown('2'); // -> [0002] M10 | 201 keyDown('2'); // -> [0002] M10 |
202 shouldBeEqualToString('input.value', '0002-10'); | 202 shouldBeEqualToString('input.value', '0002-10'); |
203 keyDown('\t', ['shiftKey']); // -> 0002 [M10] | 203 keyDown('\t', ['shiftKey']); // -> 0002 [M10] |
204 keyDown('upArrow'); // -> 0002 [M11] | 204 keyDown('ArrowUp'); // -> 0002 [M11] |
205 shouldBeEqualToString('input.value', '0002-11'); | 205 shouldBeEqualToString('input.value', '0002-11'); |
206 input.removeAttribute("lang"); | 206 input.removeAttribute("lang"); |
207 </script> | 207 </script> |
208 </body> | 208 </body> |
209 </html> | 209 </html> |
OLD | NEW |