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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html

Issue 2138633003: Split time-multiple-fields-stepup-stepdown-from-renderer.html into two. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 <script src="../resources/common.js"></script> 5 <script src="../resources/common.js"></script>
6 </head> 6 </head>
7 <body> 7 <body>
8 <script> 8 <script>
9 description('Check stepping-up and -down for time input fields from renderer. No cases of empty initial values.'); 9 description('Check stepping-up and -down for time input fields from renderer. No cases of empty initial values.');
10 if (!window.internals) 10 if (!window.internals)
11 testFailed('This test requires window.internals.'); 11 testFailed('This test requires window.internals.');
12 12
13 var input = document.createElement('input'); 13 var input = document.createElement('input');
14 var invalidStateErr = '"InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable."';
15
16 document.body.appendChild(input); 14 document.body.appendChild(input);
17 15
18 function keyDown(key, modifiers) 16 function keyDown(key, modifiers)
19 { 17 {
20 if (!window.eventSender) 18 if (!window.eventSender)
21 return; 19 return;
22 eventSender.keyDown(key, modifiers); 20 eventSender.keyDown(key, modifiers);
23 } 21 }
24 22
25 function setDateTimeFormat(pattern) { 23 function setDateTimeFormat(pattern) {
26 getElementByPseudoId(internals.youngestShadowRoot(input), '-webkit-datetime- edit').setAttribute('pattern', pattern); 24 getElementByPseudoId(internals.youngestShadowRoot(input), '-webkit-datetime- edit').setAttribute('pattern', pattern);
27 input.value = ''; // Updates the element for new format 25 input.value = ''; // Updates the element for new format
28 } 26 }
29 27
28 function maybeUpdateAttribute(name, value) {
29 if (value) {
yosin_UTC9 2016/07/12 01:12:09 Just attempt to shuffling lines. # BAD: extra has
30 if (input.getAttribute(name) != value)
31 input.setAttribute(name, value);
32 } else {
33 if (input.hasAttribute(name))
34 input.removeAttribute(name);
35 }
36 }
37
30 function setInputAttributes(value, min, max, step) { 38 function setInputAttributes(value, min, max, step) {
31 input.value = value; 39 input.value = value;
32 input.min = min; 40 maybeUpdateAttribute('min', min);
33 input.max = max; 41 maybeUpdateAttribute('max', max);
34 input.step = step; 42 maybeUpdateAttribute('step', step);
35 } 43 }
36 44
37 function test(value, step, min, max, keySequence) { 45 function test(value, step, min, max, keySequence) {
38 setInputAttributes(value, min, max, step); 46 setInputAttributes(value, min, max, step);
39 for (var i = 0; i < keySequence.length; i++) 47 for (var i = 0; i < keySequence.length; i++)
40 keyDown(keySequence[i]); 48 keyDown(keySequence[i]);
41 return input.value; 49 return input.value;
42 } 50 }
43 51
44 function stepUp(value, step, min, max) { 52 function stepUp(value, step, min, max) {
45 return test(value, step, min, max, ['ArrowUp']); 53 return test(value, step, min, max, ['ArrowUp']);
46 } 54 }
47 55
48 function stepDown(value, step, min, max) { 56 function stepDown(value, step, min, max) {
49 return test(value, step, min, max, ['ArrowDown']); 57 return test(value, step, min, max, ['ArrowDown']);
50 } 58 }
51 59
52 input.type = 'time'; 60 input.type = 'time';
53 input.focus(); 61 input.focus();
54 keyDown('ArrowRight');
55 debug('Function arguments are (value, step, min, max, [keySequence]).');
56 debug('Normal cases');
57 shouldBeEqualToString('stepUp("07:13", null, null, null)', '07:14');
58 shouldBeEqualToString('stepDown("07:13", null, null, null)', '07:12');
59 shouldBeEqualToString('test("07:13", null, null, null, ["ArrowUp", "ArrowUp", "A rrowUp"])', '07:16');
60 shouldBeEqualToString('test("07:13", null, null, null, ["ArrowDown", "ArrowDown" , "ArrowDown"])', '07:10');
61
62 debug('Milliseconds');
63 input.step = 0.001;
64 keyDown('ArrowRight');
65 keyDown('ArrowRight');
66 shouldBeEqualToString('stepUp("07:13:00.000", 0.001, null, null)', '07:13:00.001 ');
67 shouldBeEqualToString('stepDown("07:13:00.001", 0.001, null, null)', '07:13');
68 shouldBeEqualToString('stepUp("07:13:00.999", 0.001, null, null)', '07:13');
69 shouldBeEqualToString('stepDown("07:13:00.000", 0.001, null, null)', '07:13:00.9 99');
70 shouldBeEqualToString('stepUp("07:13:00.000", 0.250, null, null)', '07:13:00.250 ');
71 shouldBeEqualToString('stepDown("07:13:00.500", 0.250, null, null)', '07:13:00.2 50');
72 shouldBeEqualToString('stepUp("07:13:00.750", 0.250, null, null)', '07:13');
73 shouldBeEqualToString('stepDown("07:13:00.000", 0.250, null, null)', '07:13:00.7 50');
74 shouldBeEqualToString('stepUp("07:13:00.099", 0.100, null, null)', '07:13:00.100 ');
75 shouldBeEqualToString('stepDown("07:13:00.101", 0.100, null, null)', '07:13:00.1 00');
76 shouldBeEqualToString('stepUp("07:13:00.500", 0.0001, null, null)', '07:13:00.50 1');
77 shouldBeEqualToString('stepDown("07:13:00.500", 0.0001, null, null)', '07:13:00. 499');
78 shouldBeEqualToString('stepUp("07:13:00.500", 0, null, null)', '07:13');
79 shouldBeEqualToString('stepDown("07:13:00.500", 0, null, null)', '07:13');
80 shouldBeEqualToString('stepUp("07:13:00.500", 60, null, null)', '07:13');
81 shouldBeEqualToString('stepDown("07:13:00.500", 60, null, null)', '07:13');
82 shouldBeEqualToString('stepUp("07:13:00.500", 0.100, "00:00:00.050", null)', '07 :13:00.550');
83 shouldBeEqualToString('stepDown("07:13:00.500", 0.100, "00:00:00.050", null)', ' 07:13:00.450');
84 shouldBeEqualToString('test("07:13:00.500", 0.100, null, null, ["Delete", "Arrow Up"])', '07:13');
85 shouldBeEqualToString('test("07:13:00.500", 0.100, null, null, ["Delete", "Arrow Down"])', '07:13:00.900');
86 shouldBeEqualToString('test("07:13:00.500", 0.100, "00:00:00.050", null, ["Delet e", "ArrowUp"])', '07:13:00.050');
87 shouldBeEqualToString('test("07:13:00.500", 0.100, "00:00:00.050", null, ["Delet e", "ArrowDown"])', '07:13:00.950');
88 shouldBeEqualToString('stepUp("07:13:00.010", 0.001, "07:13:00.005", "07:13:00.0 10")', '07:13:00.005');
89 shouldBeEqualToString('stepDown("07:13:00.005", 0.001, "07:13:00.005", "07:13:00 .010")', '07:13:00.010');
90 shouldBeEqualToString('stepUp("07:13:00.005", 0.001, "07:13:00.010", "07:13:00.0 20")', '07:13:00.010');
91 shouldBeEqualToString('stepDown("07:13:00.005", 0.001, "07:13:00.010", "07:13:00 .020")', '07:13:00.020');
92 shouldBeEqualToString('stepUp("07:13:00.005", 0.001, "07:13:00.002", "07:13:00.0 02")', '07:13:00.002');
93 shouldBeEqualToString('stepDown("07:13:00.005", 0.001, "07:13:00.002", "07:13:00 .002")', '07:13:00.002');
94 shouldBeEqualToString('stepUp("07:13:00.035", 0.01, "07:13:00.010", "07:13:00.03 5")', '07:13:00.010');
95 shouldBeEqualToString('stepDown("07:13:00.035", 0.01, "07:13:00.010", "07:13:00. 035")', '07:13:00.030');
96 shouldBeEqualToString('stepUp("07:13:00.010", 0.001, "07:13:00.010", "07:13:01.0 20")', '07:13:00.011');
97 shouldBeEqualToString('stepDown("07:13:00.010", 0.001, "07:13:00.010", "07:13:01 .020")', '07:13:00.009');
98
99 debug('Seconds');
100 keyDown('ArrowLeft');
101 shouldBeEqualToString('stepUp("07:13:00", 1, null, null)', '07:13:01');
102 shouldBeEqualToString('stepDown("07:13:01", 1, null, null)', '07:13');
103 shouldBeEqualToString('stepUp("07:13:59", 0.001, null, null)', '07:13');
104 shouldBeEqualToString('stepDown("07:13:00", 0.001, null, null)', '07:13:59');
105 shouldBeEqualToString('stepUp("07:13:00", 10, null, null)', '07:13:10');
106 shouldBeEqualToString('stepDown("07:13:30", 10, null, null)', '07:13:20');
107 shouldBeEqualToString('stepUp("07:13:50", 10, null, null)', '07:13');
108 shouldBeEqualToString('stepDown("07:13:00", 10, null, null)', '07:13:50');
109 shouldBeEqualToString('stepUp("07:13:09", 10, null, null)', '07:13:10');
110 shouldBeEqualToString('stepDown("07:13:11", 10, null, null)', '07:13:10');
111 shouldBeEqualToString('stepUp("07:13:30", 2.5, null, null)', '07:13:31');
112 shouldBeEqualToString('stepDown("07:13:30", 2.5, null, null)', '07:13:29');
113 shouldBeEqualToString('stepUp("07:13:30", 0, null, null)', '07:13');
114 shouldBeEqualToString('stepDown("07:13:30", 0, null, null)', '07:13');
115 shouldBeEqualToString('stepUp("07:13:30", 3600, null, null)', '07:13');
116 shouldBeEqualToString('stepDown("07:13:30", 3600, null, null)', '07:13');
117 shouldBeEqualToString('stepUp("07:13:30", 11, null, null)', '07:13:31');
118 shouldBeEqualToString('stepDown("07:13:30", 11, null, null)', '07:13:29');
119 shouldBeEqualToString('stepUp("07:13:30", 10, "00:00:05", null)', '07:13:35');
120 shouldBeEqualToString('stepDown("07:13:30", 10, "00:00:05", null)', '07:13:25');
121 shouldBeEqualToString('test("07:13:30", 10, null, null, ["Delete", "ArrowUp"])', '07:13');
122 shouldBeEqualToString('test("07:13:30", 10, null, null, ["Delete", "ArrowDown"]) ', '07:13:50');
123 shouldBeEqualToString('test("07:13:30", 10, "00:00:05", null, ["Delete", "ArrowU p"])', '07:13:05');
124 shouldBeEqualToString('test("07:13:30", 10, "00:00:05", null, ["Delete", "ArrowD own"])', '07:13:55');
125 shouldBeEqualToString('stepUp("07:13:10", 1, "07:13:05", "07:13:10")', '07:13:05 ');
126 shouldBeEqualToString('stepDown("07:13:05", 1, "07:13:05", "07:13:10")', '07:13: 10');
127 shouldBeEqualToString('stepUp("07:13:05", 1, "07:13:10", "07:13:20")', '07:13:10 ');
128 shouldBeEqualToString('stepDown("07:13:05", 1, "07:13:10", "07:13:20")', '07:13: 20');
129 shouldBeEqualToString('stepUp("07:13:05", 1, "07:13:02", "07:13:02")', '07:13:02 ');
130 shouldBeEqualToString('stepDown("07:13:05", 1, "07:13:02", "07:13:02")', '07:13: 02');
131 shouldBeEqualToString('stepUp("07:13:35", 10, "07:13:10", "07:13:35")', '07:13:1 0');
132 shouldBeEqualToString('stepDown("07:13:35", 10, "07:13:10", "07:13:35")', '07:13 :30');
133 shouldBeEqualToString('stepUp("07:13:10", 1, "07:13:10", "07:14:20")', '07:13:11 ');
134 shouldBeEqualToString('stepDown("07:13:10", 1, "07:13:10", "07:14:20")', '07:13: 09');
135
136 debug('Minutes');
137 keyDown('ArrowLeft');
138 shouldBeEqualToString('stepUp("07:13", 1, null, null)', '07:14');
139 shouldBeEqualToString('stepDown("07:13", 1, null, null)', '07:12');
140 shouldBeEqualToString('stepUp("07:59", 0.001, null, null)', '07:00');
141 shouldBeEqualToString('stepDown("07:00", 0.001, null, null)', '07:59');
142 shouldBeEqualToString('stepUp("07:00", 600, null, null)', '07:10');
143 shouldBeEqualToString('stepDown("07:10", 600, null, null)', '07:00');
144 shouldBeEqualToString('stepUp("07:50", 600, null, null)', '07:00');
145 shouldBeEqualToString('stepDown("07:00", 600, null, null)', '07:50');
146 shouldBeEqualToString('stepUp("07:13", 600, null, null)', '07:20');
147 shouldBeEqualToString('stepDown("07:13", 600, null, null)', '07:10');
148 shouldBeEqualToString('stepUp("07:13", 150, null, null)', '07:14');
149 shouldBeEqualToString('stepDown("07:13", 150, null, null)', '07:12');
150 shouldBeEqualToString('stepUp("07:13", 0, null, null)', '07:14');
151 shouldBeEqualToString('stepDown("07:13", 0, null, null)', '07:12');
152 shouldBeEqualToString('stepUp("07:13", 36000, null, null)', '07:00');
153 shouldBeEqualToString('stepDown("07:13", 36000, null, null)', '07:00');
154 shouldBeEqualToString('stepUp("07:13", 660, null, null)', '07:14');
155 shouldBeEqualToString('stepDown("07:13", 660, null, null)', '07:12');
156 shouldBeEqualToString('stepUp("07:13", 600, "00:05", null)', '07:15');
157 shouldBeEqualToString('stepDown("07:13", 600, "00:05", null)', '07:05');
158 shouldBeEqualToString('test("07:13", 600, null, null, ["Delete", "ArrowUp"])', ' 07:00');
159 shouldBeEqualToString('test("07:13", 600, null, null, ["Delete", "ArrowDown"])', '07:50');
160 shouldBeEqualToString('test("07:13", 600, "00:05", null, ["Delete", "ArrowUp"])' , '07:05');
161 shouldBeEqualToString('test("07:13", 600, "00:05", null, ["Delete", "ArrowDown"] )', '07:55');
162 shouldBeEqualToString('stepUp("07:10", 1, "07:05", "07:10")', '07:05');
163 shouldBeEqualToString('stepDown("07:05", 1, "07:05", "07:10")', '07:10');
164 shouldBeEqualToString('stepUp("07:05", 1, "07:10", "07:20")', '07:10');
165 shouldBeEqualToString('stepDown("07:05", 1, "07:10", "07:20")', '07:20');
166 shouldBeEqualToString('stepUp("07:05", 1, "07:00", "07:00")', '07:00');
167 shouldBeEqualToString('stepDown("07:05", 1, "07:00", "07:00")', '07:00');
168 shouldBeEqualToString('stepUp("07:35", 600, "07:10", "07:35")', '07:10');
169 shouldBeEqualToString('stepDown("07:35", 600, "07:10", "07:35")', '07:30');
170 shouldBeEqualToString('stepUp("07:10", 1, "07:10", "08:20")', '07:11');
171 shouldBeEqualToString('stepDown("07:10", 1, "07:10", "08:20")', '07:09');
172 62
173 debug('Hours, 1-12'); 63 debug('Hours, 1-12');
174 keyDown('ArrowLeft');
175 shouldBeEqualToString('stepUp("07:00", 1, null, null)', '08:00'); 64 shouldBeEqualToString('stepUp("07:00", 1, null, null)', '08:00');
176 shouldBeEqualToString('stepDown("07:00", 1, null, null)', '06:00'); 65 shouldBeEqualToString('stepDown("07:00", 1, null, null)', '06:00');
177 shouldBeEqualToString('stepUp("11:00", 1, null, null)', '00:00'); 66 shouldBeEqualToString('stepUp("11:00", 1, null, null)', '00:00');
178 shouldBeEqualToString('stepDown("00:00", 1, null, null)', '11:00'); 67 shouldBeEqualToString('stepDown("00:00", 1, null, null)', '11:00');
179 shouldBeEqualToString('stepUp("06:00", 7200, null, null)', '08:00'); 68 shouldBeEqualToString('stepUp("06:00", 7200, null, null)', '08:00');
180 shouldBeEqualToString('stepDown("06:00", 7200, null, null)', '04:00'); 69 shouldBeEqualToString('stepDown("06:00", 7200, null, null)', '04:00');
181 shouldBeEqualToString('stepUp("10:00", 7200, null, null)', '00:00'); 70 shouldBeEqualToString('stepUp("10:00", 7200, null, null)', '00:00');
182 shouldBeEqualToString('stepDown("00:00", 7200, null, null)', '10:00'); 71 shouldBeEqualToString('stepDown("00:00", 7200, null, null)', '10:00');
183 shouldBeEqualToString('stepUp("07:00", 7200, null, null)', '08:00'); 72 shouldBeEqualToString('stepUp("07:00", 7200, null, null)', '08:00');
184 shouldBeEqualToString('stepDown("07:00", 7200, null, null)', '06:00'); 73 shouldBeEqualToString('stepDown("07:00", 7200, null, null)', '06:00');
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "20:00")', '19:00'); 228 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "20:00")', '19:00');
340 shouldBeEqualToString('stepUp("17:00", 7200, "17:00", "18:00")', '17:00'); 229 shouldBeEqualToString('stepUp("17:00", 7200, "17:00", "18:00")', '17:00');
341 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "18:00")', '17:00'); 230 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "18:00")', '17:00');
342 231
343 setDateTimeFormat(''); 232 setDateTimeFormat('');
344 debug(''); 233 debug('');
345 document.body.removeChild(input); 234 document.body.removeChild(input);
346 </script> 235 </script>
347 </body> 236 </body>
348 </html> 237 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698