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

Side by Side Diff: tests/corelib/date_time_test.dart

Issue 10538105: Make isUtc a getter, change some method names in Date. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 8 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 | Annotate | Revision Log
« no previous file with comments | « tests/corelib/date_time6_test.dart ('k') | tests/language/issue4157508_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Dart test program for Date. 5 // Dart test program for Date.
6 6
7 class DateTest { 7 class DateTest {
8 // Tests if the time moves eventually forward. 8 // Tests if the time moves eventually forward.
9 static void testNow() { 9 static void testNow() {
10 var t1 = new Date.now(); 10 var t1 = new Date.now();
11 bool timeMovedForward = false; 11 bool timeMovedForward = false;
12 for (int i = 0; i < 1000000; i++) { 12 for (int i = 0; i < 1000000; i++) {
13 var t2 = new Date.now(); 13 var t2 = new Date.now();
14 if (t1.value < t2.value) { 14 if (t1.millisecondsSinceEpoch < t2.millisecondsSinceEpoch) {
15 timeMovedForward = true; 15 timeMovedForward = true;
16 break; 16 break;
17 } 17 }
18 } 18 }
19 Expect.equals(true, timeMovedForward); 19 Expect.equals(true, timeMovedForward);
20 Expect.isFalse(t1.isUtc()); 20 Expect.isFalse(t1.isUtc);
21 } 21 }
22 22
23 static void testValue() { 23 static void testValue() {
24 var dt1 = new Date.now(); 24 var dt1 = new Date.now();
25 var value = dt1.value; 25 var millisecondsSinceEpoch = dt1.millisecondsSinceEpoch;
26 var dt2 = new Date.fromEpoch(value); 26 var dt2 = new Date.fromMillisecondsSinceEpoch(millisecondsSinceEpoch);
27 Expect.equals(value, dt2.value); 27 Expect.equals(millisecondsSinceEpoch, dt2.millisecondsSinceEpoch);
28 } 28 }
29 29
30 static void testFarAwayDates() { 30 static void testFarAwayDates() {
31 Date dt = new Date.fromEpoch(1000000000000001, isUtc: true); 31 Date dt =
32 new Date.fromMillisecondsSinceEpoch(1000000000000001, isUtc: true);
32 Expect.equals(33658, dt.year); 33 Expect.equals(33658, dt.year);
33 Expect.equals(9, dt.month); 34 Expect.equals(9, dt.month);
34 Expect.equals(27, dt.day); 35 Expect.equals(27, dt.day);
35 Expect.equals(1, dt.hours); 36 Expect.equals(1, dt.hour);
36 Expect.equals(46, dt.minutes); 37 Expect.equals(46, dt.minute);
37 Expect.equals(40, dt.seconds); 38 Expect.equals(40, dt.second);
38 Expect.equals(1, dt.milliseconds); 39 Expect.equals(1, dt.millisecond);
39 dt = new Date.fromEpoch(-1000000000000001, isUtc: true); 40 dt = new Date.fromMillisecondsSinceEpoch(-1000000000000001, isUtc: true);
40 Expect.equals(-29719, dt.year); 41 Expect.equals(-29719, dt.year);
41 Expect.equals(4, dt.month); 42 Expect.equals(4, dt.month);
42 Expect.equals(5, dt.day); 43 Expect.equals(5, dt.day);
43 Expect.equals(22, dt.hours); 44 Expect.equals(22, dt.hour);
44 Expect.equals(13, dt.minutes); 45 Expect.equals(13, dt.minute);
45 Expect.equals(19, dt.seconds); 46 Expect.equals(19, dt.second);
46 Expect.equals(999, dt.milliseconds); 47 Expect.equals(999, dt.millisecond);
47 // Same with local zone. 48 // Same with local zone.
48 dt = new Date.fromEpoch(1000000000000001); 49 dt = new Date.fromMillisecondsSinceEpoch(1000000000000001);
49 Expect.equals(33658, dt.year); 50 Expect.equals(33658, dt.year);
50 Expect.equals(9, dt.month); 51 Expect.equals(9, dt.month);
51 Expect.equals(true, dt.day == 27 || dt.day == 26); 52 Expect.equals(true, dt.day == 27 || dt.day == 26);
52 // Not much we can test for local hours. 53 // Not much we can test for local hour.
53 Expect.equals(true, dt.hours >= 0 && dt.hours < 24); 54 Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
54 // Timezones can have offsets down to 15 minutes. 55 // Timezones can have offsets down to 15 minute.
55 Expect.equals(true, dt.minutes % 15 == 46 % 15); 56 Expect.equals(true, dt.minute % 15 == 46 % 15);
56 Expect.equals(40, dt.seconds); 57 Expect.equals(40, dt.second);
57 Expect.equals(1, dt.milliseconds); 58 Expect.equals(1, dt.millisecond);
58 dt = new Date.fromEpoch(-1000000000000001); 59 dt = new Date.fromMillisecondsSinceEpoch(-1000000000000001);
59 Expect.equals(-29719, dt.year); 60 Expect.equals(-29719, dt.year);
60 Expect.equals(4, dt.month); 61 Expect.equals(4, dt.month);
61 Expect.equals(true, 5 == dt.day || 6 == dt.day); 62 Expect.equals(true, 5 == dt.day || 6 == dt.day);
62 // Not much we can test for local hours. 63 // Not much we can test for local hour.
63 Expect.equals(true, dt.hours >= 0 && dt.hours < 24); 64 Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
64 // Timezones can have offsets down to 15 minutes. 65 // Timezones can have offsets down to 15 minute.
65 Expect.equals(true, dt.minutes % 15 == 13); 66 Expect.equals(true, dt.minute % 15 == 13);
66 Expect.equals(19, dt.seconds); 67 Expect.equals(19, dt.second);
67 Expect.equals(999, dt.milliseconds); 68 Expect.equals(999, dt.millisecond);
68 } 69 }
69 70
70 static void testEquivalentYears() { 71 static void testEquivalentYears() {
71 // All hardcoded values come from V8. This means that the values are not 72 // All hardcoded values come from V8. This means that the values are not
72 // necessarily correct (see limitations of Date object in 73 // necessarily correct (see limitations of Date object in
73 // EcmaScript 15.9.1 and in particular 15.9.1.8/9). 74 // EcmaScript 15.9.1 and in particular 15.9.1.8/9).
74 Date dt = new Date.fromEpoch(-31485600000, isUtc: true); 75 Date dt = new Date.fromMillisecondsSinceEpoch(-31485600000, isUtc: true);
75 Expect.equals(1969, dt.year); 76 Expect.equals(1969, dt.year);
76 Expect.equals(1, dt.month); 77 Expect.equals(1, dt.month);
77 Expect.equals(1, dt.day); 78 Expect.equals(1, dt.day);
78 Expect.equals(14, dt.hours); 79 Expect.equals(14, dt.hour);
79 Expect.equals(0, dt.minutes); 80 Expect.equals(0, dt.minute);
80 Expect.equals(0, dt.seconds); 81 Expect.equals(0, dt.second);
81 Expect.equals(0, dt.milliseconds); 82 Expect.equals(0, dt.millisecond);
82 dt = new Date.fromEpoch(-63108000000, isUtc: true); 83 dt = new Date.fromMillisecondsSinceEpoch(-63108000000, isUtc: true);
83 Expect.equals(1968, dt.year); 84 Expect.equals(1968, dt.year);
84 Expect.equals(1, dt.month); 85 Expect.equals(1, dt.month);
85 Expect.equals(1, dt.day); 86 Expect.equals(1, dt.day);
86 Expect.equals(14, dt.hours); 87 Expect.equals(14, dt.hour);
87 Expect.equals(0, dt.minutes); 88 Expect.equals(0, dt.minute);
88 Expect.equals(0, dt.seconds); 89 Expect.equals(0, dt.second);
89 Expect.equals(0, dt.milliseconds); 90 Expect.equals(0, dt.millisecond);
90 dt = new Date.fromEpoch(-94644000000, isUtc: true); 91 dt = new Date.fromMillisecondsSinceEpoch(-94644000000, isUtc: true);
91 Expect.equals(1967, dt.year); 92 Expect.equals(1967, dt.year);
92 Expect.equals(1, dt.month); 93 Expect.equals(1, dt.month);
93 Expect.equals(1, dt.day); 94 Expect.equals(1, dt.day);
94 Expect.equals(14, dt.hours); 95 Expect.equals(14, dt.hour);
95 Expect.equals(0, dt.minutes); 96 Expect.equals(0, dt.minute);
96 Expect.equals(0, dt.seconds); 97 Expect.equals(0, dt.second);
97 Expect.equals(0, dt.milliseconds); 98 Expect.equals(0, dt.millisecond);
98 dt = new Date.fromEpoch(-126180000000, isUtc: true); 99 dt = new Date.fromMillisecondsSinceEpoch(-126180000000, isUtc: true);
99 Expect.equals(1966, dt.year); 100 Expect.equals(1966, dt.year);
100 Expect.equals(1, dt.month); 101 Expect.equals(1, dt.month);
101 Expect.equals(1, dt.day); 102 Expect.equals(1, dt.day);
102 Expect.equals(14, dt.hours); 103 Expect.equals(14, dt.hour);
103 Expect.equals(0, dt.minutes); 104 Expect.equals(0, dt.minute);
104 Expect.equals(0, dt.seconds); 105 Expect.equals(0, dt.second);
105 Expect.equals(0, dt.milliseconds); 106 Expect.equals(0, dt.millisecond);
106 dt = new Date.fromEpoch(-157716000000, isUtc: true); 107 dt = new Date.fromMillisecondsSinceEpoch(-157716000000, isUtc: true);
107 Expect.equals(1965, dt.year); 108 Expect.equals(1965, dt.year);
108 Expect.equals(1, dt.month); 109 Expect.equals(1, dt.month);
109 Expect.equals(1, dt.day); 110 Expect.equals(1, dt.day);
110 Expect.equals(14, dt.hours); 111 Expect.equals(14, dt.hour);
111 Expect.equals(0, dt.minutes); 112 Expect.equals(0, dt.minute);
112 Expect.equals(0, dt.seconds); 113 Expect.equals(0, dt.second);
113 Expect.equals(0, dt.milliseconds); 114 Expect.equals(0, dt.millisecond);
114 dt = new Date.fromEpoch(-2177402400000, isUtc: true); 115 dt = new Date.fromMillisecondsSinceEpoch(-2177402400000, isUtc: true);
115 Expect.equals(1901, dt.year); 116 Expect.equals(1901, dt.year);
116 Expect.equals(1, dt.month); 117 Expect.equals(1, dt.month);
117 Expect.equals(1, dt.day); 118 Expect.equals(1, dt.day);
118 Expect.equals(14, dt.hours); 119 Expect.equals(14, dt.hour);
119 Expect.equals(0, dt.minutes); 120 Expect.equals(0, dt.minute);
120 Expect.equals(0, dt.seconds); 121 Expect.equals(0, dt.second);
121 Expect.equals(0, dt.milliseconds); 122 Expect.equals(0, dt.millisecond);
122 dt = new Date.fromEpoch(-5333076000000, isUtc: true); 123 dt = new Date.fromMillisecondsSinceEpoch(-5333076000000, isUtc: true);
123 Expect.equals(1801, dt.year); 124 Expect.equals(1801, dt.year);
124 Expect.equals(1, dt.month); 125 Expect.equals(1, dt.month);
125 Expect.equals(1, dt.day); 126 Expect.equals(1, dt.day);
126 Expect.equals(14, dt.hours); 127 Expect.equals(14, dt.hour);
127 Expect.equals(0, dt.minutes); 128 Expect.equals(0, dt.minute);
128 Expect.equals(0, dt.seconds); 129 Expect.equals(0, dt.second);
129 Expect.equals(0, dt.milliseconds); 130 Expect.equals(0, dt.millisecond);
130 dt = new Date.fromEpoch(-8520285600000, isUtc: true); 131 dt = new Date.fromMillisecondsSinceEpoch(-8520285600000, isUtc: true);
131 Expect.equals(1700, dt.year); 132 Expect.equals(1700, dt.year);
132 Expect.equals(1, dt.month); 133 Expect.equals(1, dt.month);
133 Expect.equals(1, dt.day); 134 Expect.equals(1, dt.day);
134 Expect.equals(14, dt.hours); 135 Expect.equals(14, dt.hour);
135 Expect.equals(0, dt.minutes); 136 Expect.equals(0, dt.minute);
136 Expect.equals(0, dt.seconds); 137 Expect.equals(0, dt.second);
137 Expect.equals(0, dt.milliseconds); 138 Expect.equals(0, dt.millisecond);
138 dt = new Date.fromEpoch(-14831719200000, isUtc: true); 139 dt = new Date.fromMillisecondsSinceEpoch(-14831719200000, isUtc: true);
139 Expect.equals(1500, dt.year); 140 Expect.equals(1500, dt.year);
140 Expect.equals(1, dt.month); 141 Expect.equals(1, dt.month);
141 Expect.equals(1, dt.day); 142 Expect.equals(1, dt.day);
142 Expect.equals(14, dt.hours); 143 Expect.equals(14, dt.hour);
143 Expect.equals(0, dt.minutes); 144 Expect.equals(0, dt.minute);
144 Expect.equals(0, dt.seconds); 145 Expect.equals(0, dt.second);
145 Expect.equals(0, dt.milliseconds); 146 Expect.equals(0, dt.millisecond);
146 dt = new Date.fromEpoch(-59011408800000, isUtc: true); 147 dt = new Date.fromMillisecondsSinceEpoch(-59011408800000, isUtc: true);
147 Expect.equals(100, dt.year); 148 Expect.equals(100, dt.year);
148 Expect.equals(1, dt.month); 149 Expect.equals(1, dt.month);
149 Expect.equals(1, dt.day); 150 Expect.equals(1, dt.day);
150 Expect.equals(14, dt.hours); 151 Expect.equals(14, dt.hour);
151 Expect.equals(0, dt.minutes); 152 Expect.equals(0, dt.minute);
152 Expect.equals(0, dt.seconds); 153 Expect.equals(0, dt.second);
153 Expect.equals(0, dt.milliseconds); 154 Expect.equals(0, dt.millisecond);
154 dt = new Date.fromEpoch(-62011408800000, isUtc: true); 155 dt = new Date.fromMillisecondsSinceEpoch(-62011408800000, isUtc: true);
155 Expect.equals(4, dt.year); 156 Expect.equals(4, dt.year);
156 Expect.equals(12, dt.month); 157 Expect.equals(12, dt.month);
157 Expect.equals(8, dt.day); 158 Expect.equals(8, dt.day);
158 Expect.equals(8, dt.hours); 159 Expect.equals(8, dt.hour);
159 Expect.equals(40, dt.minutes); 160 Expect.equals(40, dt.minute);
160 Expect.equals(0, dt.seconds); 161 Expect.equals(0, dt.second);
161 Expect.equals(0, dt.milliseconds); 162 Expect.equals(0, dt.millisecond);
162 dt = new Date.fromEpoch(-64011408800000, isUtc: true); 163 dt = new Date.fromMillisecondsSinceEpoch(-64011408800000, isUtc: true);
163 Expect.equals(-59, dt.year); 164 Expect.equals(-59, dt.year);
164 Expect.equals(7, dt.month); 165 Expect.equals(7, dt.month);
165 Expect.equals(24, dt.day); 166 Expect.equals(24, dt.day);
166 Expect.equals(5, dt.hours); 167 Expect.equals(5, dt.hour);
167 Expect.equals(6, dt.minutes); 168 Expect.equals(6, dt.minute);
168 Expect.equals(40, dt.seconds); 169 Expect.equals(40, dt.second);
169 Expect.equals(0, dt.milliseconds); 170 Expect.equals(0, dt.millisecond);
170 final int SECONDS_YEAR_2035 = 2051222400; 171 final int SECONDS_YEAR_2035 = 2051222400;
171 dt = new Date.fromEpoch(SECONDS_YEAR_2035 * 1000 + 1, isUtc: true); 172 dt = new Date.fromMillisecondsSinceEpoch(SECONDS_YEAR_2035 * 1000 + 1,
173 isUtc: true);
172 Expect.equals(2035, dt.year); 174 Expect.equals(2035, dt.year);
173 Expect.equals(1, dt.month); 175 Expect.equals(1, dt.month);
174 Expect.equals(1, dt.day); 176 Expect.equals(1, dt.day);
175 Expect.equals(0, dt.hours); 177 Expect.equals(0, dt.hour);
176 Expect.equals(0, dt.minutes); 178 Expect.equals(0, dt.minute);
177 Expect.equals(0, dt.seconds); 179 Expect.equals(0, dt.second);
178 Expect.equals(1, dt.milliseconds); 180 Expect.equals(1, dt.millisecond);
179 dt = new Date.fromEpoch(SECONDS_YEAR_2035 * 1000 - 1, isUtc: true); 181 dt = new Date.fromMillisecondsSinceEpoch(SECONDS_YEAR_2035 * 1000 - 1,
182 isUtc: true);
180 Expect.equals(2034, dt.year); 183 Expect.equals(2034, dt.year);
181 Expect.equals(12, dt.month); 184 Expect.equals(12, dt.month);
182 Expect.equals(31, dt.day); 185 Expect.equals(31, dt.day);
183 Expect.equals(23, dt.hours); 186 Expect.equals(23, dt.hour);
184 Expect.equals(59, dt.minutes); 187 Expect.equals(59, dt.minute);
185 Expect.equals(59, dt.seconds); 188 Expect.equals(59, dt.second);
186 Expect.equals(999, dt.milliseconds); 189 Expect.equals(999, dt.millisecond);
187 dt = new Date(2035, 1, 1, 0, 0, 0, 1, isUtc: true); 190 dt = new Date(2035, 1, 1, 0, 0, 0, 1, isUtc: true);
188 Expect.equals(SECONDS_YEAR_2035 * 1000 + 1, dt.value); 191 Expect.equals(SECONDS_YEAR_2035 * 1000 + 1, dt.millisecondsSinceEpoch);
189 dt = new Date(2034, 12, 31, 23, 59, 59, 999, isUtc: true); 192 dt = new Date(2034, 12, 31, 23, 59, 59, 999, isUtc: true);
190 Expect.equals(SECONDS_YEAR_2035 * 1000 - 1, dt.value); 193 Expect.equals(SECONDS_YEAR_2035 * 1000 - 1, dt.millisecondsSinceEpoch);
191 dt = new Date.fromEpoch(SECONDS_YEAR_2035 * 1000 + 1); 194 dt = new Date.fromMillisecondsSinceEpoch(SECONDS_YEAR_2035 * 1000 + 1);
192 Expect.equals(true, (2035 == dt.year && 1 == dt.month && 1 == dt.day) || 195 Expect.equals(true, (2035 == dt.year && 1 == dt.month && 1 == dt.day) ||
193 (2034 == dt.year && 12 == dt.month && 31 == dt.day)); 196 (2034 == dt.year && 12 == dt.month && 31 == dt.day));
194 Expect.equals(0, dt.seconds); 197 Expect.equals(0, dt.second);
195 Expect.equals(1, dt.milliseconds); 198 Expect.equals(1, dt.millisecond);
196 Date dt2 = new Date( 199 Date dt2 = new Date(
197 dt.year, dt.month, dt.day, dt.hours, dt.minutes, dt.seconds, 200 dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second,
198 dt.milliseconds); 201 dt.millisecond);
199 Expect.equals(dt.value, dt2.value); 202 Expect.equals(dt.millisecondsSinceEpoch, dt2.millisecondsSinceEpoch);
200 dt = new Date.fromEpoch(SECONDS_YEAR_2035 * 1000 - 1); 203 dt = new Date.fromMillisecondsSinceEpoch(SECONDS_YEAR_2035 * 1000 - 1);
201 Expect.equals(true, (2035 == dt.year && 1 == dt.month && 1 == dt.day) || 204 Expect.equals(true, (2035 == dt.year && 1 == dt.month && 1 == dt.day) ||
202 (2034 == dt.year && 12 == dt.month && 31 == dt.day)); 205 (2034 == dt.year && 12 == dt.month && 31 == dt.day));
203 Expect.equals(59, dt.seconds); 206 Expect.equals(59, dt.second);
204 Expect.equals(999, dt.milliseconds); 207 Expect.equals(999, dt.millisecond);
205 dt2 = new Date( 208 dt2 = new Date(
206 dt.year, dt.month, dt.day, dt.hours, dt.minutes, dt.seconds, 209 dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second,
207 dt.milliseconds); 210 dt.millisecond);
208 Expect.equals(dt.value, dt2.value); 211 Expect.equals(dt.millisecondsSinceEpoch, dt2.millisecondsSinceEpoch);
209 dt = new Date.fromEpoch(2100000000 * 1000, isUtc: true); 212 dt = new Date.fromMillisecondsSinceEpoch(2100000000 * 1000, isUtc: true);
210 Expect.equals(2036, dt.year); 213 Expect.equals(2036, dt.year);
211 Expect.equals(7, dt.month); 214 Expect.equals(7, dt.month);
212 Expect.equals(18, dt.day); 215 Expect.equals(18, dt.day);
213 Expect.equals(13, dt.hours); 216 Expect.equals(13, dt.hour);
214 Expect.equals(20, dt.minutes); 217 Expect.equals(20, dt.minute);
215 Expect.equals(0, dt.seconds); 218 Expect.equals(0, dt.second);
216 Expect.equals(0, dt.milliseconds); 219 Expect.equals(0, dt.millisecond);
217 // Internally this will use the maximum value for the native calls. 220 // Internally this will use the maximum value for the native calls.
218 dt = new Date(2036, 7, 18, 13, 20); 221 dt = new Date(2036, 7, 18, 13, 20);
219 Expect.equals(2036, dt.year); 222 Expect.equals(2036, dt.year);
220 Expect.equals(7, dt.month); 223 Expect.equals(7, dt.month);
221 Expect.equals(18, dt.day); 224 Expect.equals(18, dt.day);
222 Expect.equals(13, dt.hours); 225 Expect.equals(13, dt.hour);
223 Expect.equals(20, dt.minutes); 226 Expect.equals(20, dt.minute);
224 Expect.equals(0, dt.seconds); 227 Expect.equals(0, dt.second);
225 Expect.equals(0, dt.milliseconds); 228 Expect.equals(0, dt.millisecond);
226 Expect.equals("2036-07-18 13:20:00.000", dt.toString()); 229 Expect.equals("2036-07-18 13:20:00.000", dt.toString());
227 } 230 }
228 231
229 static void testExtremes() { 232 static void testExtremes() {
230 var dt = new Date.fromEpoch(8640000000000000, isUtc: true); 233 var dt =
234 new Date.fromMillisecondsSinceEpoch(8640000000000000, isUtc: true);
231 Expect.equals(275760, dt.year); 235 Expect.equals(275760, dt.year);
232 Expect.equals(9, dt.month); 236 Expect.equals(9, dt.month);
233 Expect.equals(13, dt.day); 237 Expect.equals(13, dt.day);
234 Expect.equals(0, dt.hours); 238 Expect.equals(0, dt.hour);
235 Expect.equals(0, dt.minutes); 239 Expect.equals(0, dt.minute);
236 Expect.equals(0, dt.seconds); 240 Expect.equals(0, dt.second);
237 Expect.equals(0, dt.milliseconds); 241 Expect.equals(0, dt.millisecond);
238 dt = new Date.fromEpoch(-8640000000000000, isUtc: true); 242 dt = new Date.fromMillisecondsSinceEpoch(-8640000000000000, isUtc: true);
239 Expect.equals(-271821, dt.year); 243 Expect.equals(-271821, dt.year);
240 Expect.equals(4, dt.month); 244 Expect.equals(4, dt.month);
241 Expect.equals(20, dt.day); 245 Expect.equals(20, dt.day);
242 Expect.equals(0, dt.hours); 246 Expect.equals(0, dt.hour);
243 Expect.equals(0, dt.minutes); 247 Expect.equals(0, dt.minute);
244 Expect.equals(0, dt.seconds); 248 Expect.equals(0, dt.second);
245 Expect.equals(0, dt.milliseconds); 249 Expect.equals(0, dt.millisecond);
246 // Make sure that we can build the extreme dates in local too. 250 // Make sure that we can build the extreme dates in local too.
247 dt = new Date.fromEpoch(8640000000000000); 251 dt = new Date.fromMillisecondsSinceEpoch(8640000000000000);
248 dt = new Date(dt.year, dt.month, dt.day, dt.hours, dt.minutes); 252 dt = new Date(dt.year, dt.month, dt.day, dt.hour, dt.minute);
249 Expect.equals(8640000000000000, dt.value); 253 Expect.equals(8640000000000000, dt.millisecondsSinceEpoch);
250 dt = new Date.fromEpoch(-8640000000000000); 254 dt = new Date.fromMillisecondsSinceEpoch(-8640000000000000);
251 dt = new Date(dt.year, dt.month, dt.day, dt.hours, dt.minutes); 255 dt = new Date(dt.year, dt.month, dt.day, dt.hour, dt.minute);
252 Expect.equals(-8640000000000000, dt.value); 256 Expect.equals(-8640000000000000, dt.millisecondsSinceEpoch);
253 Expect.throws(() => new Date.fromEpoch(8640000000000001, isUtc: true)); 257 Expect.throws(() => new Date.fromMillisecondsSinceEpoch(8640000000000001,
254 Expect.throws(() => new Date.fromEpoch(-8640000000000001, isUtc: true)); 258 isUtc: true));
255 Expect.throws(() => new Date.fromEpoch(8640000000000001)); 259 Expect.throws(() => new Date.fromMillisecondsSinceEpoch(-8640000000000001,
256 Expect.throws(() => new Date.fromEpoch(-8640000000000001)); 260 isUtc: true));
257 dt = new Date.fromEpoch(8640000000000000); 261 Expect.throws(() => new Date.fromMillisecondsSinceEpoch(8640000000000001));
262 Expect.throws(
263 () => new Date.fromMillisecondsSinceEpoch(-8640000000000001));
264 dt = new Date.fromMillisecondsSinceEpoch(8640000000000000);
258 Expect.throws(() => new Date(dt.year, dt.month, dt.day, 265 Expect.throws(() => new Date(dt.year, dt.month, dt.day,
259 dt.hours, dt.minutes, 0, 1)); 266 dt.hour, dt.minute, 0, 1));
260 dt = new Date.fromEpoch(-8640000000000000); 267 dt = new Date.fromMillisecondsSinceEpoch(-8640000000000000);
261 // TODO(floitsch): Update comment after refactoring. 268 // TODO(floitsch): Update comment after refactoring.
262 // This test currently fails because the arguments must not be negative. 269 // This test currently fails because the arguments must not be negative.
263 // However we are going to allow negative (and overflowing) arguments and 270 // However we are going to allow negative (and overflowing) arguments and
264 // this line will then throw for the correct reason. 271 // this line will then throw for the correct reason.
265 Expect.throws(() => new Date(dt.year, dt.month, dt.day, 272 Expect.throws(() => new Date(dt.year, dt.month, dt.day,
266 dt.hours, dt.minutes, 0, -1)); 273 dt.hour, dt.minute, 0, -1));
267 } 274 }
268 275
269 static void testUTCGetters() { 276 static void testUTCGetters() {
270 var dt = new Date.fromEpoch(1305140315000, isUtc: true); 277 var dt = new Date.fromMillisecondsSinceEpoch(1305140315000, isUtc: true);
271 Expect.equals(2011, dt.year); 278 Expect.equals(2011, dt.year);
272 Expect.equals(5, dt.month); 279 Expect.equals(5, dt.month);
273 Expect.equals(11, dt.day); 280 Expect.equals(11, dt.day);
274 Expect.equals(18, dt.hours); 281 Expect.equals(18, dt.hour);
275 Expect.equals(58, dt.minutes); 282 Expect.equals(58, dt.minute);
276 Expect.equals(35, dt.seconds); 283 Expect.equals(35, dt.second);
277 Expect.equals(0, dt.milliseconds); 284 Expect.equals(0, dt.millisecond);
278 Expect.equals(true, dt.isUtc()); 285 Expect.equals(true, dt.isUtc);
279 Expect.equals(1305140315000, dt.value); 286 Expect.equals(1305140315000, dt.millisecondsSinceEpoch);
280 dt = new Date.fromEpoch(-9999999, isUtc: true); 287 dt = new Date.fromMillisecondsSinceEpoch(-9999999, isUtc: true);
281 Expect.equals(1969, dt.year); 288 Expect.equals(1969, dt.year);
282 Expect.equals(12, dt.month); 289 Expect.equals(12, dt.month);
283 Expect.equals(31, dt.day); 290 Expect.equals(31, dt.day);
284 Expect.equals(21, dt.hours); 291 Expect.equals(21, dt.hour);
285 Expect.equals(13, dt.minutes); 292 Expect.equals(13, dt.minute);
286 Expect.equals(20, dt.seconds); 293 Expect.equals(20, dt.second);
287 Expect.equals(1, dt.milliseconds); 294 Expect.equals(1, dt.millisecond);
288 } 295 }
289 296
290 static void testLocalGetters() { 297 static void testLocalGetters() {
291 var dt1 = new Date.fromEpoch(1305140315000); 298 var dt1 = new Date.fromMillisecondsSinceEpoch(1305140315000);
292 var dt2 = new Date(dt1.year, dt1.month, dt1.day, 299 var dt2 = new Date(dt1.year, dt1.month, dt1.day,
293 dt1.hours, dt1.minutes, dt1.seconds, 300 dt1.hour, dt1.minute, dt1.second,
294 dt1.milliseconds, 301 dt1.millisecond,
295 isUtc: true); 302 isUtc: true);
296 Duration zoneOffset = dt1.difference(dt2); 303 Duration zoneOffset = dt1.difference(dt2);
297 Expect.equals(true, zoneOffset.inDays == 0); 304 Expect.equals(true, zoneOffset.inDays == 0);
298 Expect.equals(true, zoneOffset.inHours.abs() <= 12); 305 Expect.equals(true, zoneOffset.inHours.abs() <= 12);
299 Expect.equals(dt1.year, dt2.year); 306 Expect.equals(dt1.year, dt2.year);
300 Expect.equals(dt1.month, dt2.month); 307 Expect.equals(dt1.month, dt2.month);
301 Expect.equals(true, (dt1.day - dt2.day).abs() <= 1); 308 Expect.equals(true, (dt1.day - dt2.day).abs() <= 1);
302 Expect.equals(true, dt1.hours < 24); 309 Expect.equals(true, dt1.hour < 24);
303 // There are timezones with 0.5 or 0.25 hour offsets. 310 // There are timezones with 0.5 or 0.25 hour offsets.
304 Expect.equals(true, 311 Expect.equals(true,
305 (dt1.minutes == dt2.minutes) || 312 (dt1.minute == dt2.minute) ||
306 ((dt1.minutes - dt2.minutes).abs() == 30) || 313 ((dt1.minute - dt2.minute).abs() == 30) ||
307 ((dt1.minutes - dt2.minutes).abs() == 15)); 314 ((dt1.minute - dt2.minute).abs() == 15));
308 Expect.equals(dt1.seconds, dt2.seconds); 315 Expect.equals(dt1.second, dt2.second);
309 Expect.equals(dt1.milliseconds, dt2.milliseconds); 316 Expect.equals(dt1.millisecond, dt2.millisecond);
310 } 317 }
311 318
312 static void testConstructors() { 319 static void testConstructors() {
313 var dt0 = new Date(2011, 5, 11, 18, 58, 35, 0, isUtc: true); 320 var dt0 = new Date(2011, 5, 11, 18, 58, 35, 0, isUtc: true);
314 Expect.equals(1305140315000, dt0.value); 321 Expect.equals(1305140315000, dt0.millisecondsSinceEpoch);
315 var dt1 = new Date.fromEpoch(1305140315000); 322 var dt1 = new Date.fromMillisecondsSinceEpoch(1305140315000);
316 Expect.equals(dt1.value, dt0.value); 323 Expect.equals(dt1.millisecondsSinceEpoch, dt0.millisecondsSinceEpoch);
317 Expect.equals(true, dt1 == dt0); 324 Expect.equals(true, dt1 == dt0);
318 var dt3 = new Date(dt1.year, dt1.month, dt1.day, dt1.hours, dt1.minutes, 325 var dt3 = new Date(dt1.year, dt1.month, dt1.day, dt1.hour, dt1.minute,
319 dt1.seconds, dt1.milliseconds); 326 dt1.second, dt1.millisecond);
320 Expect.equals(dt1.value, dt3.value); 327 Expect.equals(dt1.millisecondsSinceEpoch, dt3.millisecondsSinceEpoch);
321 Expect.equals(true, dt1 == dt3); 328 Expect.equals(true, dt1 == dt3);
322 dt3 = new Date( 329 dt3 = new Date(
323 dt1.year, dt1.month, dt1.day, dt1.hours, dt1.minutes, 330 dt1.year, dt1.month, dt1.day, dt1.hour, dt1.minute,
324 dt1.seconds, dt1.milliseconds); 331 dt1.second, dt1.millisecond);
325 Expect.equals(dt1.value, dt3.value); 332 Expect.equals(dt1.millisecondsSinceEpoch, dt3.millisecondsSinceEpoch);
326 Expect.equals(true, dt1 == dt3); 333 Expect.equals(true, dt1 == dt3);
327 var dt2 = dt1.toLocal(); 334 var dt2 = dt1.toLocal();
328 dt3 = new Date(2011, 5, dt1.day, dt1.hours, dt1.minutes, 35, 0); 335 dt3 = new Date(2011, 5, dt1.day, dt1.hour, dt1.minute, 35, 0);
329 Expect.equals(dt2.value, dt3.value); 336 Expect.equals(dt2.millisecondsSinceEpoch, dt3.millisecondsSinceEpoch);
330 Expect.equals(true, dt2 == dt3); 337 Expect.equals(true, dt2 == dt3);
331 dt1 = new Date.fromEpoch(-9999999, isUtc: true); 338 dt1 = new Date.fromMillisecondsSinceEpoch(-9999999, isUtc: true);
332 dt3 = new Date( 339 dt3 = new Date(
333 dt1.year, dt1.month, dt1.day, dt1.hours, dt1.minutes, 340 dt1.year, dt1.month, dt1.day, dt1.hour, dt1.minute,
334 dt1.seconds, dt1.milliseconds, isUtc: true); 341 dt1.second, dt1.millisecond, isUtc: true);
335 Expect.equals(dt1.value, dt3.value); 342 Expect.equals(dt1.millisecondsSinceEpoch, dt3.millisecondsSinceEpoch);
336 dt3 = new Date(99, 1, 2, 10, 11, 12, 0, isUtc: true); 343 dt3 = new Date(99, 1, 2, 10, 11, 12, 0, isUtc: true);
337 Expect.equals(99, dt3.year); 344 Expect.equals(99, dt3.year);
338 Expect.equals(1, dt3.month); 345 Expect.equals(1, dt3.month);
339 Expect.equals(2, dt3.day); 346 Expect.equals(2, dt3.day);
340 Expect.equals(10, dt3.hours); 347 Expect.equals(10, dt3.hour);
341 Expect.equals(11, dt3.minutes); 348 Expect.equals(11, dt3.minute);
342 Expect.equals(12, dt3.seconds); 349 Expect.equals(12, dt3.second);
343 Expect.equals(0, dt3.milliseconds); 350 Expect.equals(0, dt3.millisecond);
344 Expect.equals(true, dt3.isUtc()); 351 Expect.equals(true, dt3.isUtc);
345 var dt4 = new Date(99, 1, 2); 352 var dt4 = new Date(99, 1, 2);
346 Expect.equals(99, dt4.year); 353 Expect.equals(99, dt4.year);
347 Expect.equals(1, dt4.month); 354 Expect.equals(1, dt4.month);
348 Expect.equals(2, dt4.day); 355 Expect.equals(2, dt4.day);
349 Expect.equals(0, dt4.hours); 356 Expect.equals(0, dt4.hour);
350 Expect.equals(0, dt4.minutes); 357 Expect.equals(0, dt4.minute);
351 Expect.equals(0, dt4.seconds); 358 Expect.equals(0, dt4.second);
352 Expect.equals(0, dt4.milliseconds); 359 Expect.equals(0, dt4.millisecond);
353 Expect.isFalse(dt4.isUtc()); 360 Expect.isFalse(dt4.isUtc);
354 var dt5 = new Date(99, 1, 2, isUtc: true); 361 var dt5 = new Date(99, 1, 2, isUtc: true);
355 Expect.equals(99, dt5.year); 362 Expect.equals(99, dt5.year);
356 Expect.equals(1, dt5.month); 363 Expect.equals(1, dt5.month);
357 Expect.equals(2, dt5.day); 364 Expect.equals(2, dt5.day);
358 Expect.equals(0, dt5.hours); 365 Expect.equals(0, dt5.hour);
359 Expect.equals(0, dt5.minutes); 366 Expect.equals(0, dt5.minute);
360 Expect.equals(0, dt5.seconds); 367 Expect.equals(0, dt5.second);
361 Expect.equals(0, dt5.milliseconds); 368 Expect.equals(0, dt5.millisecond);
362 Expect.isTrue(dt5.isUtc()); 369 Expect.isTrue(dt5.isUtc);
363 var dt6 = new Date(2012, 2, 27, 13, 27, 0); 370 var dt6 = new Date(2012, 2, 27, 13, 27, 0);
364 Expect.equals(2012, dt6.year); 371 Expect.equals(2012, dt6.year);
365 Expect.equals(2, dt6.month); 372 Expect.equals(2, dt6.month);
366 Expect.equals(27, dt6.day); 373 Expect.equals(27, dt6.day);
367 Expect.equals(13, dt6.hours); 374 Expect.equals(13, dt6.hour);
368 Expect.equals(27, dt6.minutes); 375 Expect.equals(27, dt6.minute);
369 Expect.equals(0, dt6.seconds); 376 Expect.equals(0, dt6.second);
370 Expect.equals(0, dt6.milliseconds); 377 Expect.equals(0, dt6.millisecond);
371 Expect.isFalse(dt6.isUtc()); 378 Expect.isFalse(dt6.isUtc);
372 var dt7 = new Date(2012, 2, 27, 13, 27, 0, isUtc: true); 379 var dt7 = new Date(2012, 2, 27, 13, 27, 0, isUtc: true);
373 Expect.equals(2012, dt7.year); 380 Expect.equals(2012, dt7.year);
374 Expect.equals(2, dt7.month); 381 Expect.equals(2, dt7.month);
375 Expect.equals(27, dt7.day); 382 Expect.equals(27, dt7.day);
376 Expect.equals(13, dt7.hours); 383 Expect.equals(13, dt7.hour);
377 Expect.equals(27, dt7.minutes); 384 Expect.equals(27, dt7.minute);
378 Expect.equals(0, dt7.seconds); 385 Expect.equals(0, dt7.second);
379 Expect.equals(0, dt7.milliseconds); 386 Expect.equals(0, dt7.millisecond);
380 Expect.isTrue(dt7.isUtc()); 387 Expect.isTrue(dt7.isUtc);
381 } 388 }
382 389
383 static void testChangeTimeZone() { 390 static void testChangeTimeZone() {
384 var dt1 = new Date.fromEpoch(1305140315000); 391 var dt1 = new Date.fromMillisecondsSinceEpoch(1305140315000);
385 var dt2 = dt1.toUtc(); 392 var dt2 = dt1.toUtc();
386 Expect.equals(dt1.value, dt2.value); 393 Expect.equals(dt1.millisecondsSinceEpoch, dt2.millisecondsSinceEpoch);
387 var dt3 = new Date.fromEpoch(1305140315000, isUtc: true); 394 var dt3 = new Date.fromMillisecondsSinceEpoch(1305140315000, isUtc: true);
388 Expect.equals(dt1.value, dt3.value); 395 Expect.equals(dt1.millisecondsSinceEpoch, dt3.millisecondsSinceEpoch);
389 Expect.equals(dt2.year, dt3.year); 396 Expect.equals(dt2.year, dt3.year);
390 Expect.equals(dt2.month, dt3.month); 397 Expect.equals(dt2.month, dt3.month);
391 Expect.equals(dt2.day, dt3.day); 398 Expect.equals(dt2.day, dt3.day);
392 Expect.equals(dt2.hours, dt3.hours); 399 Expect.equals(dt2.hour, dt3.hour);
393 Expect.equals(dt2.minutes, dt3.minutes); 400 Expect.equals(dt2.minute, dt3.minute);
394 Expect.equals(dt2.seconds, dt3.seconds); 401 Expect.equals(dt2.second, dt3.second);
395 Expect.equals(dt2.milliseconds, dt3.milliseconds); 402 Expect.equals(dt2.millisecond, dt3.millisecond);
396 var dt4 = dt3.toLocal(); 403 var dt4 = dt3.toLocal();
397 Expect.equals(dt1.year, dt4.year); 404 Expect.equals(dt1.year, dt4.year);
398 Expect.equals(dt1.month, dt4.month); 405 Expect.equals(dt1.month, dt4.month);
399 Expect.equals(dt1.day, dt4.day); 406 Expect.equals(dt1.day, dt4.day);
400 Expect.equals(dt1.hours, dt4.hours); 407 Expect.equals(dt1.hour, dt4.hour);
401 Expect.equals(dt1.minutes, dt4.minutes); 408 Expect.equals(dt1.minute, dt4.minute);
402 Expect.equals(dt1.seconds, dt4.seconds); 409 Expect.equals(dt1.second, dt4.second);
403 Expect.equals(dt1.milliseconds, dt4.milliseconds); 410 Expect.equals(dt1.millisecond, dt4.millisecond);
404 } 411 }
405 412
406 static void testSubAdd() { 413 static void testSubAdd() {
407 var dt1 = new Date.fromEpoch(1305140315000, isUtc: true); 414 var dt1 = new Date.fromMillisecondsSinceEpoch(1305140315000, isUtc: true);
408 var dt2 = dt1.add(new Duration(milliseconds: 415 var dt2 = dt1.add(new Duration(milliseconds:
409 3 * Duration.MILLISECONDS_PER_SECOND + 5)); 416 3 * Duration.MILLISECONDS_PER_SECOND + 5));
410 Expect.equals(dt1.year, dt2.year); 417 Expect.equals(dt1.year, dt2.year);
411 Expect.equals(dt1.month, dt2.month); 418 Expect.equals(dt1.month, dt2.month);
412 Expect.equals(dt1.day, dt2.day); 419 Expect.equals(dt1.day, dt2.day);
413 Expect.equals(dt1.hours, dt2.hours); 420 Expect.equals(dt1.hour, dt2.hour);
414 Expect.equals(dt1.minutes, dt2.minutes); 421 Expect.equals(dt1.minute, dt2.minute);
415 Expect.equals(dt1.seconds + 3, dt2.seconds); 422 Expect.equals(dt1.second + 3, dt2.second);
416 Expect.equals(dt1.milliseconds + 5, dt2.milliseconds); 423 Expect.equals(dt1.millisecond + 5, dt2.millisecond);
417 var dt3 = dt2.subtract(new Duration(milliseconds: 424 var dt3 = dt2.subtract(new Duration(milliseconds:
418 3 * Duration.MILLISECONDS_PER_SECOND + 5)); 425 3 * Duration.MILLISECONDS_PER_SECOND + 5));
419 Expect.equals(true, dt1 == dt3); 426 Expect.equals(true, dt1 == dt3);
420 Expect.equals(false, dt1 == dt2); 427 Expect.equals(false, dt1 == dt2);
421 } 428 }
422 429
423 static void testDateStrings() { 430 static void testDateStrings() {
424 // TODO(floitsch): Clean up the Date API that deals with strings. 431 // TODO(floitsch): Clean up the Date API that deals with strings.
425 var dt1 = new Date.fromString("2011-05-11 18:58:35Z"); 432 var dt1 = new Date.fromString("2011-05-11 18:58:35Z");
426 Expect.equals(1305140315000, dt1.value); 433 Expect.equals(1305140315000, dt1.millisecondsSinceEpoch);
427 Expect.isTrue(dt1.isUtc()); 434 Expect.isTrue(dt1.isUtc);
428 dt1 = new Date.fromString("20110511 18:58:35z"); 435 dt1 = new Date.fromString("20110511 18:58:35z");
429 Expect.equals(1305140315000, dt1.value); 436 Expect.equals(1305140315000, dt1.millisecondsSinceEpoch);
430 Expect.isTrue(dt1.isUtc()); 437 Expect.isTrue(dt1.isUtc);
431 dt1 = new Date.fromString("+20110511 18:58:35z"); 438 dt1 = new Date.fromString("+20110511 18:58:35z");
432 Expect.equals(1305140315000, dt1.value); 439 Expect.equals(1305140315000, dt1.millisecondsSinceEpoch);
433 Expect.isTrue(dt1.isUtc()); 440 Expect.isTrue(dt1.isUtc);
434 var str = dt1.toString(); 441 var str = dt1.toString();
435 var dt2 = new Date.fromString(str); 442 var dt2 = new Date.fromString(str);
436 Expect.equals(true, dt1 == dt2); 443 Expect.equals(true, dt1 == dt2);
437 var dt3 = dt1.toUtc(); 444 var dt3 = dt1.toUtc();
438 str = dt3.toString(); 445 str = dt3.toString();
439 Expect.equals("2011-05-11 18:58:35.000Z", str); 446 Expect.equals("2011-05-11 18:58:35.000Z", str);
440 var dt4 = new Date.fromString("-1234-01-01 00:00:00Z"); 447 var dt4 = new Date.fromString("-1234-01-01 00:00:00Z");
441 Expect.equals(-1234, dt4.year); 448 Expect.equals(-1234, dt4.year);
442 Expect.equals(1, dt4.month); 449 Expect.equals(1, dt4.month);
443 Expect.equals(1, dt4.day); 450 Expect.equals(1, dt4.day);
444 Expect.equals(0, dt4.hours); 451 Expect.equals(0, dt4.hour);
445 Expect.equals(0, dt4.minutes); 452 Expect.equals(0, dt4.minute);
446 Expect.equals(0, dt4.seconds); 453 Expect.equals(0, dt4.second);
447 Expect.equals(0, dt4.milliseconds); 454 Expect.equals(0, dt4.millisecond);
448 Expect.isTrue(dt4.isUtc()); 455 Expect.isTrue(dt4.isUtc);
449 var dt5 = new Date.fromString("0099-01-02"); 456 var dt5 = new Date.fromString("0099-01-02");
450 Expect.equals(99, dt5.year); 457 Expect.equals(99, dt5.year);
451 Expect.equals(1, dt5.month); 458 Expect.equals(1, dt5.month);
452 Expect.equals(2, dt5.day); 459 Expect.equals(2, dt5.day);
453 Expect.equals(0, dt5.hours); 460 Expect.equals(0, dt5.hour);
454 Expect.equals(0, dt5.minutes); 461 Expect.equals(0, dt5.minute);
455 Expect.equals(0, dt5.seconds); 462 Expect.equals(0, dt5.second);
456 Expect.equals(0, dt5.milliseconds); 463 Expect.equals(0, dt5.millisecond);
457 Expect.isFalse(dt5.isUtc()); 464 Expect.isFalse(dt5.isUtc);
458 var dt6 = new Date.fromString("2012-01-01 00:00:10.012"); 465 var dt6 = new Date.fromString("2012-01-01 00:00:10.012");
459 Expect.equals(12, dt6.milliseconds); 466 Expect.equals(12, dt6.millisecond);
460 dt6 = new Date.fromString("2012-01-01 00:00:10.003"); 467 dt6 = new Date.fromString("2012-01-01 00:00:10.003");
461 Expect.equals(3, dt6.milliseconds); 468 Expect.equals(3, dt6.millisecond);
462 dt6 = new Date.fromString("2012-01-01 00:00:10.5"); 469 dt6 = new Date.fromString("2012-01-01 00:00:10.5");
463 Expect.equals(500, dt6.milliseconds); 470 Expect.equals(500, dt6.millisecond);
464 dt6 = new Date.fromString("2012-01-01 00:00:10.003Z"); 471 dt6 = new Date.fromString("2012-01-01 00:00:10.003Z");
465 Expect.equals(3, dt6.milliseconds); 472 Expect.equals(3, dt6.millisecond);
466 dt6 = new Date.fromString("2012-01-01 00:00:10.5z"); 473 dt6 = new Date.fromString("2012-01-01 00:00:10.5z");
467 Expect.equals(500, dt6.milliseconds); 474 Expect.equals(500, dt6.millisecond);
468 var dt7 = new Date.fromString("2011-05-11T18:58:35Z"); 475 var dt7 = new Date.fromString("2011-05-11T18:58:35Z");
469 Expect.equals(1305140315000, dt7.value); 476 Expect.equals(1305140315000, dt7.millisecondsSinceEpoch);
470 var dt8 = new Date.fromString("-1234-01-01T00:00:00Z"); 477 var dt8 = new Date.fromString("-1234-01-01T00:00:00Z");
471 Expect.equals(-1234, dt8.year); 478 Expect.equals(-1234, dt8.year);
472 Expect.equals(1, dt8.month); 479 Expect.equals(1, dt8.month);
473 Expect.equals(1, dt8.day); 480 Expect.equals(1, dt8.day);
474 Expect.equals(0, dt8.hours); 481 Expect.equals(0, dt8.hour);
475 Expect.equals(0, dt8.minutes); 482 Expect.equals(0, dt8.minute);
476 Expect.equals(0, dt8.seconds); 483 Expect.equals(0, dt8.second);
477 Expect.equals(0, dt8.milliseconds); 484 Expect.equals(0, dt8.millisecond);
478 Expect.isTrue(dt8.isUtc()); 485 Expect.isTrue(dt8.isUtc);
479 var dt9 = new Date.fromString("-1234-01-01T00:00:00"); 486 var dt9 = new Date.fromString("-1234-01-01T00:00:00");
480 Expect.equals(-1234, dt9.year); 487 Expect.equals(-1234, dt9.year);
481 Expect.equals(1, dt9.month); 488 Expect.equals(1, dt9.month);
482 Expect.equals(1, dt9.day); 489 Expect.equals(1, dt9.day);
483 Expect.equals(0, dt9.hours); 490 Expect.equals(0, dt9.hour);
484 Expect.equals(0, dt9.minutes); 491 Expect.equals(0, dt9.minute);
485 Expect.equals(0, dt9.seconds); 492 Expect.equals(0, dt9.second);
486 Expect.equals(0, dt9.milliseconds); 493 Expect.equals(0, dt9.millisecond);
487 Expect.isFalse(dt9.isUtc()); 494 Expect.isFalse(dt9.isUtc);
488 var dt10 = new Date.fromString("-12340101"); 495 var dt10 = new Date.fromString("-12340101");
489 Expect.equals(-1234, dt10.year); 496 Expect.equals(-1234, dt10.year);
490 Expect.equals(1, dt10.month); 497 Expect.equals(1, dt10.month);
491 Expect.equals(1, dt10.day); 498 Expect.equals(1, dt10.day);
492 Expect.equals(0, dt10.hours); 499 Expect.equals(0, dt10.hour);
493 Expect.equals(0, dt10.minutes); 500 Expect.equals(0, dt10.minute);
494 Expect.equals(0, dt10.seconds); 501 Expect.equals(0, dt10.second);
495 Expect.equals(0, dt10.milliseconds); 502 Expect.equals(0, dt10.millisecond);
496 Expect.isFalse(dt10.isUtc()); 503 Expect.isFalse(dt10.isUtc);
497 dt1 = new Date.fromString("2012-02-27 13:27:00"); 504 dt1 = new Date.fromString("2012-02-27 13:27:00");
498 Expect.equals(2012, dt1.year); 505 Expect.equals(2012, dt1.year);
499 Expect.equals(2, dt1.month); 506 Expect.equals(2, dt1.month);
500 Expect.equals(27, dt1.day); 507 Expect.equals(27, dt1.day);
501 Expect.equals(13, dt1.hours); 508 Expect.equals(13, dt1.hour);
502 Expect.equals(27, dt1.minutes); 509 Expect.equals(27, dt1.minute);
503 Expect.equals(0, dt1.seconds); 510 Expect.equals(0, dt1.second);
504 Expect.equals(0, dt1.milliseconds); 511 Expect.equals(0, dt1.millisecond);
505 Expect.equals(false, dt1.isUtc()); 512 Expect.equals(false, dt1.isUtc);
506 dt1 = new Date.fromString("2012-02-27 13:27:00.423z"); 513 dt1 = new Date.fromString("2012-02-27 13:27:00.423z");
507 Expect.equals(2012, dt1.year); 514 Expect.equals(2012, dt1.year);
508 Expect.equals(2, dt1.month); 515 Expect.equals(2, dt1.month);
509 Expect.equals(27, dt1.day); 516 Expect.equals(27, dt1.day);
510 Expect.equals(13, dt1.hours); 517 Expect.equals(13, dt1.hour);
511 Expect.equals(27, dt1.minutes); 518 Expect.equals(27, dt1.minute);
512 Expect.equals(0, dt1.seconds); 519 Expect.equals(0, dt1.second);
513 Expect.equals(423, dt1.milliseconds); 520 Expect.equals(423, dt1.millisecond);
514 Expect.equals(true, dt1.isUtc()); 521 Expect.equals(true, dt1.isUtc);
515 dt1 = new Date.fromString("20120227 13:27:00"); 522 dt1 = new Date.fromString("20120227 13:27:00");
516 Expect.equals(2012, dt1.year); 523 Expect.equals(2012, dt1.year);
517 Expect.equals(2, dt1.month); 524 Expect.equals(2, dt1.month);
518 Expect.equals(27, dt1.day); 525 Expect.equals(27, dt1.day);
519 Expect.equals(13, dt1.hours); 526 Expect.equals(13, dt1.hour);
520 Expect.equals(27, dt1.minutes); 527 Expect.equals(27, dt1.minute);
521 Expect.equals(0, dt1.seconds); 528 Expect.equals(0, dt1.second);
522 Expect.equals(0, dt1.milliseconds); 529 Expect.equals(0, dt1.millisecond);
523 Expect.equals(false, dt1.isUtc()); 530 Expect.equals(false, dt1.isUtc);
524 dt1 = new Date.fromString("20120227T132700"); 531 dt1 = new Date.fromString("20120227T132700");
525 Expect.equals(2012, dt1.year); 532 Expect.equals(2012, dt1.year);
526 Expect.equals(2, dt1.month); 533 Expect.equals(2, dt1.month);
527 Expect.equals(27, dt1.day); 534 Expect.equals(27, dt1.day);
528 Expect.equals(13, dt1.hours); 535 Expect.equals(13, dt1.hour);
529 Expect.equals(27, dt1.minutes); 536 Expect.equals(27, dt1.minute);
530 Expect.equals(0, dt1.seconds); 537 Expect.equals(0, dt1.second);
531 Expect.equals(0, dt1.milliseconds); 538 Expect.equals(0, dt1.millisecond);
532 Expect.equals(false, dt1.isUtc()); 539 Expect.equals(false, dt1.isUtc);
533 dt1 = new Date.fromString("20120227"); 540 dt1 = new Date.fromString("20120227");
534 Expect.equals(2012, dt1.year); 541 Expect.equals(2012, dt1.year);
535 Expect.equals(2, dt1.month); 542 Expect.equals(2, dt1.month);
536 Expect.equals(27, dt1.day); 543 Expect.equals(27, dt1.day);
537 Expect.equals(0, dt1.hours); 544 Expect.equals(0, dt1.hour);
538 Expect.equals(0, dt1.minutes); 545 Expect.equals(0, dt1.minute);
539 Expect.equals(0, dt1.seconds); 546 Expect.equals(0, dt1.second);
540 Expect.equals(0, dt1.milliseconds); 547 Expect.equals(0, dt1.millisecond);
541 Expect.equals(false, dt1.isUtc()); 548 Expect.equals(false, dt1.isUtc);
542 dt1 = new Date.fromString("2012-02-27T14Z"); 549 dt1 = new Date.fromString("2012-02-27T14Z");
543 Expect.equals(2012, dt1.year); 550 Expect.equals(2012, dt1.year);
544 Expect.equals(2, dt1.month); 551 Expect.equals(2, dt1.month);
545 Expect.equals(27, dt1.day); 552 Expect.equals(27, dt1.day);
546 Expect.equals(14, dt1.hours); 553 Expect.equals(14, dt1.hour);
547 Expect.equals(0, dt1.minutes); 554 Expect.equals(0, dt1.minute);
548 Expect.equals(0, dt1.seconds); 555 Expect.equals(0, dt1.second);
549 Expect.equals(0, dt1.milliseconds); 556 Expect.equals(0, dt1.millisecond);
550 Expect.equals(true, dt1.isUtc()); 557 Expect.equals(true, dt1.isUtc);
551 dt1 = new Date.fromString("-123450101 00:00:00 Z"); 558 dt1 = new Date.fromString("-123450101 00:00:00 Z");
552 Expect.equals(-12345, dt1.year); 559 Expect.equals(-12345, dt1.year);
553 Expect.equals(1, dt1.month); 560 Expect.equals(1, dt1.month);
554 Expect.equals(1, dt1.day); 561 Expect.equals(1, dt1.day);
555 Expect.equals(0, dt1.hours); 562 Expect.equals(0, dt1.hour);
556 Expect.equals(0, dt1.minutes); 563 Expect.equals(0, dt1.minute);
557 Expect.equals(0, dt1.seconds); 564 Expect.equals(0, dt1.second);
558 Expect.equals(0, dt1.milliseconds); 565 Expect.equals(0, dt1.millisecond);
559 Expect.equals(true, dt1.isUtc()); 566 Expect.equals(true, dt1.isUtc);
560 // We only support milliseconds. If the user supplies more data (the "51" 567 // We only support millisecond. If the user supplies more data (the "51"
561 // here), we round. 568 // here), we round.
562 // If (eventually) we support more than just milliseconds this test could 569 // If (eventually) we support more than just millisecond this test could
563 // fail. Please update the test in this case. 570 // fail. Please update the test in this case.
564 dt1 = new Date.fromString("1999-01-02 23:59:59.99951"); 571 dt1 = new Date.fromString("1999-01-02 23:59:59.99951");
565 Expect.equals(1999, dt1.year); 572 Expect.equals(1999, dt1.year);
566 Expect.equals(1, dt1.month); 573 Expect.equals(1, dt1.month);
567 Expect.equals(3, dt1.day); 574 Expect.equals(3, dt1.day);
568 Expect.equals(0, dt1.hours); 575 Expect.equals(0, dt1.hour);
569 Expect.equals(0, dt1.minutes); 576 Expect.equals(0, dt1.minute);
570 Expect.equals(0, dt1.seconds); 577 Expect.equals(0, dt1.second);
571 Expect.equals(0, dt1.milliseconds); 578 Expect.equals(0, dt1.millisecond);
572 Expect.equals(false, dt1.isUtc()); 579 Expect.equals(false, dt1.isUtc);
573 dt1 = new Date.fromString("1999-01-02 23:58:59.99951Z"); 580 dt1 = new Date.fromString("1999-01-02 23:58:59.99951Z");
574 Expect.equals(1999, dt1.year); 581 Expect.equals(1999, dt1.year);
575 Expect.equals(1, dt1.month); 582 Expect.equals(1, dt1.month);
576 Expect.equals(2, dt1.day); 583 Expect.equals(2, dt1.day);
577 Expect.equals(23, dt1.hours); 584 Expect.equals(23, dt1.hour);
578 Expect.equals(59, dt1.minutes); 585 Expect.equals(59, dt1.minute);
579 Expect.equals(0, dt1.seconds); 586 Expect.equals(0, dt1.second);
580 Expect.equals(0, dt1.milliseconds); 587 Expect.equals(0, dt1.millisecond);
581 Expect.equals(true, dt1.isUtc()); 588 Expect.equals(true, dt1.isUtc);
582 dt1 = new Date.fromString("0009-09-09 09:09:09.009Z"); 589 dt1 = new Date.fromString("0009-09-09 09:09:09.009Z");
583 Expect.equals(9, dt1.year); 590 Expect.equals(9, dt1.year);
584 Expect.equals(9, dt1.month); 591 Expect.equals(9, dt1.month);
585 Expect.equals(9, dt1.day); 592 Expect.equals(9, dt1.day);
586 Expect.equals(9, dt1.hours); 593 Expect.equals(9, dt1.hour);
587 Expect.equals(9, dt1.minutes); 594 Expect.equals(9, dt1.minute);
588 Expect.equals(9, dt1.seconds); 595 Expect.equals(9, dt1.second);
589 Expect.equals(9, dt1.milliseconds); 596 Expect.equals(9, dt1.millisecond);
590 Expect.equals(true, dt1.isUtc()); 597 Expect.equals(true, dt1.isUtc);
591 } 598 }
592 599
593 static void testWeekday() { 600 static void testWeekday() {
594 // 2011-10-06 is Summertime. 601 // 2011-10-06 is Summertime.
595 var d = new Date(2011, 10, 6, 0, 45, 37, 0); 602 var d = new Date(2011, 10, 6, 0, 45, 37, 0);
596 Expect.equals(Date.THU, d.weekday); 603 Expect.equals(Date.THU, d.weekday);
597 d = new Date(2011, 10, 6, 0, 45, 37, 0, isUtc: true); 604 d = new Date(2011, 10, 6, 0, 45, 37, 0, isUtc: true);
598 Expect.equals(Date.THU, d.weekday); 605 Expect.equals(Date.THU, d.weekday);
599 d = new Date(2011, 10, 5, 23, 45, 37, 0); 606 d = new Date(2011, 10, 5, 23, 45, 37, 0);
600 Expect.equals(Date.WED, d.weekday); 607 Expect.equals(Date.WED, d.weekday);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 testEquivalentYears(); 640 testEquivalentYears();
634 testExtremes(); 641 testExtremes();
635 testFarAwayDates(); 642 testFarAwayDates();
636 testWeekday(); 643 testWeekday();
637 } 644 }
638 } 645 }
639 646
640 main() { 647 main() {
641 DateTest.testMain(); 648 DateTest.testMain();
642 } 649 }
OLDNEW
« no previous file with comments | « tests/corelib/date_time6_test.dart ('k') | tests/language/issue4157508_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698