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

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

Issue 2631483002: Improve performance of time-multiple-fields-stepup-stepdown-from-renderer-hour.html (Closed)
Patch Set: !==, forEach Created 3 years, 11 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/testharness.js"></script>
5 <script src="../../../resources/testharnessreport.js"></script>
5 <script src="../resources/common.js"></script> 6 <script src="../resources/common.js"></script>
6 </head> 7 </head>
7 <body> 8 <body>
8 <script> 9 <script>
9 description('Check stepping-up and -down for time input fields from renderer. No cases of empty initial values.'); 10 // We use a single INPUT element for multiple testcases to improve test performa nce.
10 if (!window.internals)
11 testFailed('This test requires window.internals.');
12
13 var input = document.createElement('input'); 11 var input = document.createElement('input');
12 input.type = 'time';
14 document.body.appendChild(input); 13 document.body.appendChild(input);
15 14 input.focus();
16 function keyDown(key, modifiers)
17 {
18 if (!window.eventSender)
19 return;
20 eventSender.keyDown(key, modifiers);
21 }
22 15
23 function setDateTimeFormat(pattern) { 16 function setDateTimeFormat(pattern) {
24 getElementByPseudoId(internals.youngestShadowRoot(input), '-webkit-datetime- edit').setAttribute('pattern', pattern); 17 getElementByPseudoId(internals.youngestShadowRoot(input), '-webkit-datetime-ed it').setAttribute('pattern', pattern);
25 input.value = ''; // Updates the element for new format 18 input.value = ''; // Updates the element for new format
26 } 19 }
27 20
28 function maybeUpdateAttribute(name, value) { 21 function maybeUpdateAttribute(name, value) {
29 if (value) { 22 if (value) {
30 if (input.getAttribute(name) != value) 23 if (input.getAttribute(name) !== value)
31 input.setAttribute(name, value); 24 input.setAttribute(name, value);
32 } else { 25 } else {
33 if (input.hasAttribute(name)) 26 if (input.hasAttribute(name))
34 input.removeAttribute(name); 27 input.removeAttribute(name);
35 } 28 }
36 } 29 }
37 30
38 function setInputAttributes(value, min, max, step) { 31 function assert_input_value_with_limits(initial, step, min, max, keySequence, ex pected, expectedDisplayValue) {
39 input.value = value; 32 input.value = initial;
40 maybeUpdateAttribute('min', min); 33 maybeUpdateAttribute('min', min);
41 maybeUpdateAttribute('max', max); 34 maybeUpdateAttribute('max', max);
42 maybeUpdateAttribute('step', step); 35 maybeUpdateAttribute('step', step);
43 } 36
44 37 keySequence.forEach(key => { eventSender.keyDown(key); });
45 function test(value, step, min, max, keySequence) { 38
46 setInputAttributes(value, min, max, step); 39 assert_equals(input.value, expected);
47 for (var i = 0; i < keySequence.length; i++) 40 if (expectedDisplayValue)
48 keyDown(keySequence[i]); 41 assert_equals(getUserAgentShadowTextContent(input), expectedDisplayValue);
49 return input.value; 42 }
50 } 43
51 44 function assert_input_value_with_limits_after_up(initial, step, min, max, expect ed, expectedDisplayValue) {
52 function stepUp(value, step, min, max) { 45 assert_input_value_with_limits(initial, step, min, max, ['ArrowUp'], expected, expectedDisplayValue);
53 return test(value, step, min, max, ['ArrowUp']); 46 }
54 } 47
55 48 function assert_input_value_with_limits_after_down(initial, step, min, max, expe cted, expectedDisplayValue) {
56 function stepDown(value, step, min, max) { 49 assert_input_value_with_limits(initial, step, min, max, ['ArrowDown'], expecte d, expectedDisplayValue);
57 return test(value, step, min, max, ['ArrowDown']); 50 }
58 } 51
59 52 function assert_input_value_with_limits_after_deleteup(initial, step, min, max, expected, expectedDisplayValue) {
60 input.type = 'time'; 53 assert_input_value_with_limits(initial, step, min, max, ['Delete', 'ArrowUp'], expected, expectedDisplayValue);
61 input.focus(); 54 }
62 55
63 debug('Hours, 1-12'); 56 function assert_input_value_with_limits_after_deletedown(initial, step, min, max , expected, expectedDisplayValue) {
64 shouldBeEqualToString('stepUp("07:00", 1, null, null)', '08:00'); 57 assert_input_value_with_limits(initial, step, min, max, ['Delete', 'ArrowDown' ], expected, expectedDisplayValue);
65 shouldBeEqualToString('stepDown("07:00", 1, null, null)', '06:00'); 58 }
66 shouldBeEqualToString('stepUp("11:00", 1, null, null)', '00:00'); 59
67 shouldBeEqualToString('stepDown("00:00", 1, null, null)', '11:00'); 60 function assert_input_value_after_up(initial, step, expected, expectedDisplayVal ue) {
68 shouldBeEqualToString('stepUp("06:00", 7200, null, null)', '08:00'); 61 assert_input_value_with_limits(initial, step, null, null, ['ArrowUp'], expecte d, expectedDisplayValue);
69 shouldBeEqualToString('stepDown("06:00", 7200, null, null)', '04:00'); 62 }
70 shouldBeEqualToString('stepUp("10:00", 7200, null, null)', '00:00'); 63
71 shouldBeEqualToString('stepDown("00:00", 7200, null, null)', '10:00'); 64 function assert_input_value_after_down(initial, step, expected, expectedDisplayV alue) {
72 shouldBeEqualToString('stepUp("07:00", 7200, null, null)', '08:00'); 65 assert_input_value_with_limits(initial, step, null, null, ['ArrowDown'], expec ted, expectedDisplayValue);
73 shouldBeEqualToString('stepDown("07:00", 7200, null, null)', '06:00'); 66 }
74 shouldBeEqualToString('stepUp("06:00", 3601, null, null)', '07:00'); 67
75 shouldBeEqualToString('stepDown("06:00", 3601, null, null)', '05:00'); 68 // Hours, 1-12
76 shouldBeEqualToString('stepUp("06:00", 0, null, null)', '07:00'); 69 test(() => {
77 shouldBeEqualToString('stepDown("06:00", 0, null, null)', '05:00'); 70 assert_exists(window, 'internals');
78 shouldBeEqualToString('stepUp("06:00", 86400, null, null)', '00:00'); 71 assert_exists(window, 'eventSender');
79 shouldBeEqualToString('stepDown("06:00", 86400, null, null)', '00:00'); 72
80 shouldBeEqualToString('stepUp("06:00", 36000, null, null)', '07:00'); 73 assert_input_value_after_up('07:00', 1, '08:00');
81 shouldBeEqualToString('stepDown("06:00", 36000, null, null)', '05:00'); 74 assert_input_value_after_down('07:00', 1, '06:00');
82 shouldBeEqualToString('stepUp("06:00", 7200, "01:00", null)', '07:00'); 75 assert_input_value_after_up('11:00', 1, '00:00');
83 shouldBeEqualToString('stepDown("06:00", 7200, "01:00", null)', '05:00'); 76 assert_input_value_after_down('00:00', 1, '11:00');
84 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowUp"])', '02:00'); 77 assert_input_value_after_up('06:00', 7200, '08:00');
85 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowDown"])' , '00:00'); 78 assert_input_value_after_down('06:00', 7200, '04:00');
86 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '12:00 AM'); 79 assert_input_value_after_up('10:00', 7200, '00:00');
87 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowUp"]) ', '01:00'); 80 assert_input_value_after_down('00:00', 7200, '10:00');
88 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowDown" ])', '11:00'); 81 assert_input_value_after_up('07:00', 7200, '08:00');
89 shouldBeEqualToString('stepUp("17:00", 1, "17:00", "20:00")', '18:00'); 82 assert_input_value_after_down('07:00', 7200, '06:00');
90 shouldBeEqualToString('stepDown("17:00", 1, "17:00", "20:00")', '20:00'); 83 assert_input_value_after_up('06:00', 3601, '07:00');
91 shouldBeEqualToString('stepUp("17:00", 1, "15:00", "17:00")', '15:00'); 84 assert_input_value_after_down('06:00', 3601, '05:00');
92 shouldBeEqualToString('stepDown("17:00", 1, "15:00", "17:00")', '16:00'); 85 assert_input_value_after_up('06:00', 0, '07:00');
93 shouldBeEqualToString('stepUp("15:00", 1, "17:00", "20:00")', '17:00'); 86 assert_input_value_after_down('06:00', 0, '05:00');
94 shouldBeEqualToString('stepDown("15:00", 1, "17:00", "20:00")', '20:00'); 87 assert_input_value_after_up('06:00', 86400, '00:00');
95 shouldBeEqualToString('stepUp("15:00", 1, "13:00", "13:00")', '13:00'); 88 assert_input_value_after_down('06:00', 86400, '00:00');
96 shouldBeEqualToString('stepDown("15:00", 1, "13:00", "13:00")', '13:00'); 89 assert_input_value_after_up('06:00', 36000, '07:00');
97 shouldBeEqualToString('stepUp("12:00", 1, "12:00", "15:00")', '13:00'); 90 assert_input_value_after_down('06:00', 36000, '05:00');
98 shouldBeEqualToString('stepDown("12:00", 1, "12:00", "15:00")', '23:00'); 91 assert_input_value_with_limits_after_up('06:00', 7200, '01:00', null, '07:00') ;
99 shouldBeEqualToString('stepUp("15:00", 1, "12:00", "15:00")', '16:00'); 92 assert_input_value_with_limits_after_down('06:00', 7200, '01:00', null, '05:00 ');
100 shouldBeEqualToString('stepDown("15:00", 1, "12:00", "15:00")', '14:00'); 93 assert_input_value_with_limits_after_deleteup('06:00', 7200, null, null, '02:0 0');
101 shouldBeEqualToString('stepUp("12:00", 1, "10:00", "12:00")', '13:00'); 94 assert_input_value_with_limits_after_deletedown('06:00', 7200, null, null, '00 :00', '12:00 AM');
102 shouldBeEqualToString('stepDown("12:00", 1, "10:00", "12:00")', '23:00'); 95 assert_input_value_with_limits_after_deleteup('06:00', 7200, '01:00', null, '0 1:00');
103 shouldBeEqualToString('stepUp("00:00", 1, "00:00", "03:00")', '01:00'); 96 assert_input_value_with_limits_after_deletedown('06:00', 7200, '01:00', null, '11:00');
104 shouldBeEqualToString('stepDown("00:00", 1, "00:00", "03:00")', '11:00'); 97 assert_input_value_with_limits_after_up('17:00', 1, '17:00', '20:00', '18:00') ;
105 shouldBeEqualToString('stepUp("15:00", 1, "10:00", "15:00")', '16:00'); 98 assert_input_value_with_limits_after_down('17:00', 1, '17:00', '20:00', '20:00 ');
106 shouldBeEqualToString('stepDown("10:00", 1, "10:00", "15:00")', '09:00'); 99 assert_input_value_with_limits_after_up('17:00', 1, '15:00', '17:00', '15:00') ;
107 shouldBeEqualToString('stepUp("17:00", 7200, "17:00", "20:00")', '19:00'); 100 assert_input_value_with_limits_after_down('17:00', 1, '15:00', '17:00', '16:00 ');
108 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "20:00")', '19:00'); 101 assert_input_value_with_limits_after_up('15:00', 1, '17:00', '20:00', '17:00') ;
109 shouldBeEqualToString('stepUp("17:00", 7200, "17:00", "18:00")', '17:00'); 102 assert_input_value_with_limits_after_down('15:00', 1, '17:00', '20:00', '20:00 ');
110 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "18:00")', '17:00'); 103 assert_input_value_with_limits_after_up('15:00', 1, '13:00', '13:00', '13:00') ;
111 104 assert_input_value_with_limits_after_down('15:00', 1, '13:00', '13:00', '13:00 ');
112 debug('Hours, 0-11'); 105 assert_input_value_with_limits_after_up('12:00', 1, '12:00', '15:00', '13:00') ;
113 setDateTimeFormat('KK:mm a'); 106 assert_input_value_with_limits_after_down('12:00', 1, '12:00', '15:00', '23:00 ');
114 shouldBeEqualToString('stepUp("11:00", 1, null, null)', '00:00'); 107 assert_input_value_with_limits_after_up('15:00', 1, '12:00', '15:00', '16:00') ;
115 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '00:00 AM'); 108 assert_input_value_with_limits_after_down('15:00', 1, '12:00', '15:00', '14:00 ');
116 shouldBeEqualToString('stepDown("00:00", 1, null, null)', '11:00'); 109 assert_input_value_with_limits_after_up('12:00', 1, '10:00', '12:00', '13:00') ;
117 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '11:00 AM'); 110 assert_input_value_with_limits_after_down('12:00', 1, '10:00', '12:00', '23:00 ');
118 shouldBeEqualToString('stepUp("23:00", 1, null, null)', '12:00'); 111 assert_input_value_with_limits_after_up('00:00', 1, '00:00', '03:00', '01:00') ;
119 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '00:00 PM'); 112 assert_input_value_with_limits_after_down('00:00', 1, '00:00', '03:00', '11:00 ');
120 shouldBeEqualToString('stepDown("12:00", 1, null, null)', '23:00'); 113 assert_input_value_with_limits_after_up('15:00', 1, '10:00', '15:00', '16:00') ;
121 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '11:00 PM'); 114 assert_input_value_with_limits_after_down('10:00', 1, '10:00', '15:00', '09:00 ');
122 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowUp"])', '00:00'); 115 assert_input_value_with_limits_after_up('17:00', 7200, '17:00', '20:00', '19:0 0');
123 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowDown"])' , '10:00'); 116 assert_input_value_with_limits_after_down('17:00', 7200, '17:00', '20:00', '19 :00');
124 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowUp"]) ', '01:00'); 117 assert_input_value_with_limits_after_up('17:00', 7200, '17:00', '18:00', '17:0 0');
125 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowDown" ])', '11:00'); 118 assert_input_value_with_limits_after_down('17:00', 7200, '17:00', '18:00', '17 :00');
126 shouldBeEqualToString('stepUp("17:00", 1, "17:00", "20:00")', '18:00'); 119 }, 'Hours, 1-12');
127 shouldBeEqualToString('stepDown("17:00", 1, "17:00", "20:00")', '20:00'); 120
128 shouldBeEqualToString('stepUp("17:00", 1, "15:00", "17:00")', '15:00'); 121 // Hours, 0-11
129 shouldBeEqualToString('stepDown("17:00", 1, "15:00", "17:00")', '16:00'); 122 test(() => {
130 shouldBeEqualToString('stepUp("15:00", 1, "17:00", "20:00")', '17:00'); 123 assert_exists(window, 'internals');
131 shouldBeEqualToString('stepDown("15:00", 1, "17:00", "20:00")', '20:00'); 124 assert_exists(window, 'eventSender');
132 shouldBeEqualToString('stepUp("15:00", 1, "13:00", "13:00")', '13:00'); 125 setDateTimeFormat('KK:mm a');
133 shouldBeEqualToString('stepDown("15:00", 1, "13:00", "13:00")', '13:00'); 126
134 shouldBeEqualToString('stepUp("12:00", 1, "12:00", "15:00")', '13:00'); 127 assert_input_value_after_up('11:00', 1, '00:00', '00:00 AM');
135 shouldBeEqualToString('stepDown("12:00", 1, "12:00", "15:00")', '15:00'); 128 assert_input_value_after_down('00:00', 1, '11:00', '11:00 AM');
136 shouldBeEqualToString('stepUp("15:00", 1, "12:00", "15:00")', '12:00'); 129 assert_input_value_after_up('23:00', 1, '12:00', '00:00 PM');
137 shouldBeEqualToString('stepDown("15:00", 1, "12:00", "15:00")', '14:00'); 130 assert_input_value_after_down('12:00', 1, '23:00', '11:00 PM');
138 shouldBeEqualToString('stepUp("12:00", 1, "10:00", "12:00")', '13:00'); 131 assert_input_value_with_limits_after_deleteup('06:00', 7200, null, null, '00:0 0');
139 shouldBeEqualToString('stepDown("12:00", 1, "10:00", "12:00")', '23:00'); 132 assert_input_value_with_limits_after_deletedown('06:00', 7200, null, null, '10 :00');
140 shouldBeEqualToString('stepUp("00:00", 1, "00:00", "03:00")', '01:00'); 133 assert_input_value_with_limits_after_deleteup('06:00', 7200, '01:00', null, '0 1:00');
141 shouldBeEqualToString('stepDown("00:00", 1, "00:00", "03:00")', '03:00'); 134 assert_input_value_with_limits_after_deletedown('06:00', 7200, '01:00', null, '11:00');
142 shouldBeEqualToString('stepUp("15:00", 1, "10:00", "15:00")', '16:00'); 135 assert_input_value_with_limits_after_up('17:00', 1, '17:00', '20:00', '18:00') ;
143 shouldBeEqualToString('stepDown("10:00", 1, "10:00", "15:00")', '09:00'); 136 assert_input_value_with_limits_after_down('17:00', 1, '17:00', '20:00', '20:00 ');
144 shouldBeEqualToString('stepUp("20:00", 7200, "17:00", "20:00")', '17:00'); 137 assert_input_value_with_limits_after_up('17:00', 1, '15:00', '17:00', '15:00') ;
145 shouldBeEqualToString('stepDown("20:00", 7200, "17:00", "20:00")', '19:00'); 138 assert_input_value_with_limits_after_down('17:00', 1, '15:00', '17:00', '16:00 ');
146 139 assert_input_value_with_limits_after_up('15:00', 1, '17:00', '20:00', '17:00') ;
147 debug('Hours, 0-23'); 140 assert_input_value_with_limits_after_down('15:00', 1, '17:00', '20:00', '20:00 ');
148 setDateTimeFormat('HH:mm'); 141 assert_input_value_with_limits_after_up('15:00', 1, '13:00', '13:00', '13:00') ;
149 shouldBeEqualToString('stepUp("07:00", 1, null, null)', '08:00'); 142 assert_input_value_with_limits_after_down('15:00', 1, '13:00', '13:00', '13:00 ');
150 shouldBeEqualToString('stepDown("07:00", 1, null, null)', '06:00'); 143 assert_input_value_with_limits_after_up('12:00', 1, '12:00', '15:00', '13:00') ;
151 shouldBeEqualToString('stepUp("23:00", 1, null, null)', '00:00'); 144 assert_input_value_with_limits_after_down('12:00', 1, '12:00', '15:00', '15:00 ');
152 shouldBeEqualToString('stepDown("00:00", 1, null, null)', '23:00'); 145 assert_input_value_with_limits_after_up('15:00', 1, '12:00', '15:00', '12:00') ;
153 shouldBeEqualToString('stepUp("06:00", 7200, null, null)', '08:00'); 146 assert_input_value_with_limits_after_down('15:00', 1, '12:00', '15:00', '14:00 ');
154 shouldBeEqualToString('stepDown("06:00", 7200, null, null)', '04:00'); 147 assert_input_value_with_limits_after_up('12:00', 1, '10:00', '12:00', '13:00') ;
155 shouldBeEqualToString('stepUp("22:00", 7200, null, null)', '00:00'); 148 assert_input_value_with_limits_after_down('12:00', 1, '10:00', '12:00', '23:00 ');
156 shouldBeEqualToString('stepDown("00:00", 7200, null, null)', '22:00'); 149 assert_input_value_with_limits_after_up('00:00', 1, '00:00', '03:00', '01:00') ;
157 shouldBeEqualToString('stepUp("07:00", 7200, null, null)', '08:00'); 150 assert_input_value_with_limits_after_down('00:00', 1, '00:00', '03:00', '03:00 ');
158 shouldBeEqualToString('stepDown("07:00", 7200, null, null)', '06:00'); 151 assert_input_value_with_limits_after_up('15:00', 1, '10:00', '15:00', '16:00') ;
159 shouldBeEqualToString('stepUp("06:00", 3601, null, null)', '07:00'); 152 assert_input_value_with_limits_after_down('10:00', 1, '10:00', '15:00', '09:00 ');
160 shouldBeEqualToString('stepDown("06:00", 3601, null, null)', '05:00'); 153 assert_input_value_with_limits_after_up('20:00', 7200, '17:00', '20:00', '17:0 0');
161 shouldBeEqualToString('stepUp("06:00", 0, null, null)', '07:00'); 154 assert_input_value_with_limits_after_down('20:00', 7200, '17:00', '20:00', '19 :00');
162 shouldBeEqualToString('stepDown("06:00", 0, null, null)', '05:00'); 155 }, 'Hours, 0-11');
163 shouldBeEqualToString('stepUp("06:00", 86400, null, null)', '00:00'); 156
164 shouldBeEqualToString('stepDown("06:00", 86400, null, null)', '00:00'); 157 // Hours, 0-23
165 shouldBeEqualToString('stepUp("06:00", 36000, null, null)', '07:00'); 158 test(() => {
166 shouldBeEqualToString('stepDown("06:00", 36000, null, null)', '05:00'); 159 assert_exists(window, 'internals');
167 shouldBeEqualToString('stepUp("06:00", 7200, "01:00", null)', '07:00'); 160 assert_exists(window, 'eventSender');
168 shouldBeEqualToString('stepDown("06:00", 7200, "01:00", null)', '05:00'); 161 setDateTimeFormat('HH:mm');
169 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowUp"])', '00:00'); 162
170 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '00:00'); 163 assert_input_value_after_up('07:00', 1, '08:00');
171 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowDown"])' , '22:00'); 164 assert_input_value_after_down('07:00', 1, '06:00');
172 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowUp"]) ', '01:00'); 165 assert_input_value_after_up('23:00', 1, '00:00');
173 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowDown" ])', '23:00'); 166 assert_input_value_after_down('00:00', 1, '23:00');
174 shouldBeEqualToString('stepUp("17:00", 1, "17:00", "20:00")', '18:00'); 167 assert_input_value_after_up('06:00', 7200, '08:00');
175 shouldBeEqualToString('stepDown("17:00", 1, "17:00", "20:00")', '20:00'); 168 assert_input_value_after_down('06:00', 7200, '04:00');
176 shouldBeEqualToString('stepUp("17:00", 1, "15:00", "17:00")', '15:00'); 169 assert_input_value_after_up('22:00', 7200, '00:00');
177 shouldBeEqualToString('stepDown("17:00", 1, "15:00", "17:00")', '16:00'); 170 assert_input_value_after_down('00:00', 7200, '22:00');
178 shouldBeEqualToString('stepUp("15:00", 1, "17:00", "20:00")', '17:00'); 171 assert_input_value_after_up('07:00', 7200, '08:00');
179 shouldBeEqualToString('stepDown("15:00", 1, "17:00", "20:00")', '20:00'); 172 assert_input_value_after_down('07:00', 7200, '06:00');
180 shouldBeEqualToString('stepUp("15:00", 1, "13:00", "13:00")', '13:00'); 173 assert_input_value_after_up('06:00', 3601, '07:00');
181 shouldBeEqualToString('stepDown("15:00", 1, "13:00", "13:00")', '13:00'); 174 assert_input_value_after_down('06:00', 3601, '05:00');
182 shouldBeEqualToString('stepUp("00:00", 1, "00:00", "03:00")', '01:00'); 175 assert_input_value_after_up('06:00', 0, '07:00');
183 shouldBeEqualToString('stepDown("00:00", 1, "00:00", "03:00")', '03:00'); 176 assert_input_value_after_down('06:00', 0, '05:00');
184 shouldBeEqualToString('stepUp("03:00", 1, "00:00", "03:00")', '00:00'); 177 assert_input_value_after_up('06:00', 86400, '00:00');
185 shouldBeEqualToString('stepDown("03:00", 1, "00:00", "03:00")', '02:00'); 178 assert_input_value_after_down('06:00', 86400, '00:00');
186 shouldBeEqualToString('stepUp("12:00", 1, "10:00", "12:00")', '10:00'); 179 assert_input_value_after_up('06:00', 36000, '07:00');
187 shouldBeEqualToString('stepDown("12:00", 1, "10:00", "12:00")', '11:00'); 180 assert_input_value_after_down('06:00', 36000, '05:00');
188 shouldBeEqualToString('stepUp("00:00", 1, "00:00", "03:00")', '01:00'); 181 assert_input_value_with_limits_after_up('06:00', 7200, '01:00', null, '07:00') ;
189 shouldBeEqualToString('stepDown("00:00", 1, "00:00", "03:00")', '03:00'); 182 assert_input_value_with_limits_after_down('06:00', 7200, '01:00', null, '05:00 ');
190 shouldBeEqualToString('stepUp("15:00", 1, "10:00", "15:00")', '10:00'); 183 assert_input_value_with_limits_after_deleteup('06:00', 7200, null, null, '00:0 0', '00:00');
191 shouldBeEqualToString('stepDown("10:00", 1, "10:00", "15:00")', '15:00'); 184 assert_input_value_with_limits_after_deletedown('06:00', 7200, null, null, '22 :00');
192 shouldBeEqualToString('stepUp("20:00", 7200, "17:00", "20:00")', '17:00'); 185 assert_input_value_with_limits_after_deleteup('06:00', 7200, '01:00', null, '0 1:00');
193 shouldBeEqualToString('stepDown("20:00", 7200, "17:00", "20:00")', '19:00'); 186 assert_input_value_with_limits_after_deletedown('06:00', 7200, '01:00', null, '23:00');
194 187 assert_input_value_with_limits_after_up('17:00', 1, '17:00', '20:00', '18:00') ;
195 debug('Hours, 1-24'); 188 assert_input_value_with_limits_after_down('17:00', 1, '17:00', '20:00', '20:00 ');
196 setDateTimeFormat('kk:mm'); 189 assert_input_value_with_limits_after_up('17:00', 1, '15:00', '17:00', '15:00') ;
197 shouldBeEqualToString('stepUp("11:00", 1, null, null)', '12:00'); 190 assert_input_value_with_limits_after_down('17:00', 1, '15:00', '17:00', '16:00 ');
198 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '12:00'); 191 assert_input_value_with_limits_after_up('15:00', 1, '17:00', '20:00', '17:00') ;
199 shouldBeEqualToString('stepDown("00:00", 1, null, null)', '23:00'); 192 assert_input_value_with_limits_after_down('15:00', 1, '17:00', '20:00', '20:00 ');
200 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '23:00'); 193 assert_input_value_with_limits_after_up('15:00', 1, '13:00', '13:00', '13:00') ;
201 shouldBeEqualToString('stepUp("23:00", 1, null, null)', '00:00'); 194 assert_input_value_with_limits_after_down('15:00', 1, '13:00', '13:00', '13:00 ');
202 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '24:00'); 195 assert_input_value_with_limits_after_up('00:00', 1, '00:00', '03:00', '01:00') ;
203 shouldBeEqualToString('stepDown("12:00", 1, null, null)', '11:00'); 196 assert_input_value_with_limits_after_down('00:00', 1, '00:00', '03:00', '03:00 ');
204 shouldBeEqualToString('getUserAgentShadowTextContent(input)', '11:00'); 197 assert_input_value_with_limits_after_up('03:00', 1, '00:00', '03:00', '00:00') ;
205 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowUp"])', '02:00'); 198 assert_input_value_with_limits_after_down('03:00', 1, '00:00', '03:00', '02:00 ');
206 shouldBeEqualToString('test("06:00", 7200, null, null, ["Delete", "ArrowDown"])' , '00:00'); 199 assert_input_value_with_limits_after_up('12:00', 1, '10:00', '12:00', '10:00') ;
207 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowUp"]) ', '01:00'); 200 assert_input_value_with_limits_after_down('12:00', 1, '10:00', '12:00', '11:00 ');
208 shouldBeEqualToString('test("06:00", 7200, "01:00", null, ["Delete", "ArrowDown" ])', '23:00'); 201 assert_input_value_with_limits_after_up('00:00', 1, '00:00', '03:00', '01:00') ;
209 shouldBeEqualToString('stepUp("17:00", 1, "17:00", "20:00")', '18:00'); 202 assert_input_value_with_limits_after_down('00:00', 1, '00:00', '03:00', '03:00 ');
210 shouldBeEqualToString('stepDown("17:00", 1, "17:00", "20:00")', '20:00'); 203 assert_input_value_with_limits_after_up('15:00', 1, '10:00', '15:00', '10:00') ;
211 shouldBeEqualToString('stepUp("17:00", 1, "15:00", "17:00")', '15:00'); 204 assert_input_value_with_limits_after_down('10:00', 1, '10:00', '15:00', '15:00 ');
212 shouldBeEqualToString('stepDown("17:00", 1, "15:00", "17:00")', '16:00'); 205 assert_input_value_with_limits_after_up('20:00', 7200, '17:00', '20:00', '17:0 0');
213 shouldBeEqualToString('stepUp("15:00", 1, "17:00", "20:00")', '17:00'); 206 assert_input_value_with_limits_after_down('20:00', 7200, '17:00', '20:00', '19 :00');
214 shouldBeEqualToString('stepDown("15:00", 1, "17:00", "20:00")', '20:00'); 207 }, 'Hours, 0-23');
215 shouldBeEqualToString('stepUp("15:00", 1, "13:00", "13:00")', '13:00'); 208
216 shouldBeEqualToString('stepDown("15:00", 1, "13:00", "13:00")', '13:00'); 209 // Hours, 1-24
217 shouldBeEqualToString('stepUp("00:00", 1, "00:00", "03:00")', '01:00'); 210 test(() => {
218 shouldBeEqualToString('stepDown("00:00", 1, "00:00", "03:00")', '23:00'); 211 assert_exists(window, 'internals');
219 shouldBeEqualToString('stepUp("03:00", 1, "00:00", "03:00")', '04:00'); 212 assert_exists(window, 'eventSender');
220 shouldBeEqualToString('stepDown("03:00", 1, "00:00", "03:00")', '02:00'); 213 setDateTimeFormat('kk:mm');
221 shouldBeEqualToString('stepUp("12:00", 1, "10:00", "12:00")', '10:00'); 214
222 shouldBeEqualToString('stepDown("12:00", 1, "10:00", "12:00")', '11:00'); 215 assert_input_value_after_up('11:00', 1, '12:00', '12:00');
223 shouldBeEqualToString('stepUp("00:00", 1, "00:00", "03:00")', '01:00'); 216 assert_input_value_after_down('00:00', 1, '23:00', '23:00');
224 shouldBeEqualToString('stepDown("00:00", 1, "00:00", "03:00")', '23:00'); 217 assert_input_value_after_up('23:00', 1, '00:00', '24:00');
225 shouldBeEqualToString('stepUp("15:00", 1, "10:00", "15:00")', '10:00'); 218 assert_input_value_after_down('12:00', 1, '11:00', '11:00');
226 shouldBeEqualToString('stepDown("10:00", 1, "10:00", "15:00")', '15:00'); 219 assert_input_value_with_limits_after_deleteup('06:00', 7200, null, null, '02:0 0');
227 shouldBeEqualToString('stepUp("17:00", 7200, "17:00", "20:00")', '19:00'); 220 assert_input_value_with_limits_after_deletedown('06:00', 7200, null, null, '00 :00');
228 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "20:00")', '19:00'); 221 assert_input_value_with_limits_after_deleteup('06:00', 7200, '01:00', null, '0 1:00');
229 shouldBeEqualToString('stepUp("17:00", 7200, "17:00", "18:00")', '17:00'); 222 assert_input_value_with_limits_after_deletedown('06:00', 7200, '01:00', null, '23:00');
230 shouldBeEqualToString('stepDown("17:00", 7200, "17:00", "18:00")', '17:00'); 223 assert_input_value_with_limits_after_up('17:00', 1, '17:00', '20:00', '18:00') ;
231 224 assert_input_value_with_limits_after_down('17:00', 1, '17:00', '20:00', '20:00 ');
232 setDateTimeFormat(''); 225 assert_input_value_with_limits_after_up('17:00', 1, '15:00', '17:00', '15:00') ;
233 debug(''); 226 assert_input_value_with_limits_after_down('17:00', 1, '15:00', '17:00', '16:00 ');
234 document.body.removeChild(input); 227 assert_input_value_with_limits_after_up('15:00', 1, '17:00', '20:00', '17:00') ;
228 assert_input_value_with_limits_after_down('15:00', 1, '17:00', '20:00', '20:00 ');
229 assert_input_value_with_limits_after_up('15:00', 1, '13:00', '13:00', '13:00') ;
230 assert_input_value_with_limits_after_down('15:00', 1, '13:00', '13:00', '13:00 ');
231 assert_input_value_with_limits_after_up('00:00', 1, '00:00', '03:00', '01:00') ;
232 assert_input_value_with_limits_after_down('00:00', 1, '00:00', '03:00', '23:00 ');
233 assert_input_value_with_limits_after_up('03:00', 1, '00:00', '03:00', '04:00') ;
234 assert_input_value_with_limits_after_down('03:00', 1, '00:00', '03:00', '02:00 ');
235 assert_input_value_with_limits_after_up('12:00', 1, '10:00', '12:00', '10:00') ;
236 assert_input_value_with_limits_after_down('12:00', 1, '10:00', '12:00', '11:00 ');
237 assert_input_value_with_limits_after_up('00:00', 1, '00:00', '03:00', '01:00') ;
238 assert_input_value_with_limits_after_down('00:00', 1, '00:00', '03:00', '23:00 ');
239 assert_input_value_with_limits_after_up('15:00', 1, '10:00', '15:00', '10:00') ;
240 assert_input_value_with_limits_after_down('10:00', 1, '10:00', '15:00', '15:00 ');
241 assert_input_value_with_limits_after_up('17:00', 7200, '17:00', '20:00', '19:0 0');
242 assert_input_value_with_limits_after_down('17:00', 7200, '17:00', '20:00', '19 :00');
243 assert_input_value_with_limits_after_up('17:00', 7200, '17:00', '18:00', '17:0 0');
244 assert_input_value_with_limits_after_down('17:00', 7200, '17:00', '18:00', '17 :00');
245 }, 'Hours, 1-24');
235 </script> 246 </script>
236 </body> 247 </body>
237 </html> 248 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698