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

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

Issue 1493033003: Add microsecond support to DateTime. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address comment. Created 5 years 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
« no previous file with comments | « tests/corelib/date_time4_test.dart ('k') | tests/corelib/date_time_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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 check(DateTime expected, String str) { 7 check(DateTime expected, String str) {
8 DateTime actual = DateTime.parse(str); 8 DateTime actual = DateTime.parse(str);
9 Expect.equals(expected, actual); // Only checks if they are at the same time. 9 Expect.equals(expected, actual); // Only checks if they are at the same time.
10 Expect.equals(expected.isUtc, actual.isUtc); 10 Expect.equals(expected.isUtc, actual.isUtc);
11 } 11 }
12
13 bool get supportsMicroseconds =>
14 new DateTime.fromMicrosecondsSinceEpoch(1).microsecondsSinceEpoch == 1;
15
12 main() { 16 main() {
13 check(new DateTime(2012, 02, 27, 13, 27), "2012-02-27 13:27:00"); 17 check(new DateTime(2012, 02, 27, 13, 27), "2012-02-27 13:27:00");
14 check(new DateTime.utc(2012, 02, 27, 13, 27, 0, 123), 18 if (supportsMicroseconds) {
15 "2012-02-27 13:27:00.123456z"); 19 check(new DateTime.utc(2012, 02, 27, 13, 27, 0, 123, 456),
20 "2012-02-27 13:27:00.123456z");
21 } else {
22 check(new DateTime.utc(2012, 02, 27, 13, 27, 0, 123, 456),
23 "2012-02-27 13:27:00.123z");
24 }
16 check(new DateTime(2012, 02, 27, 13, 27), "20120227 13:27:00"); 25 check(new DateTime(2012, 02, 27, 13, 27), "20120227 13:27:00");
17 check(new DateTime(2012, 02, 27, 13, 27), "20120227T132700"); 26 check(new DateTime(2012, 02, 27, 13, 27), "20120227T132700");
18 check(new DateTime(2012, 02, 27), "20120227"); 27 check(new DateTime(2012, 02, 27), "20120227");
19 check(new DateTime(2012, 02, 27), "+20120227"); 28 check(new DateTime(2012, 02, 27), "+20120227");
20 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14Z"); 29 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14Z");
21 check(new DateTime.utc(-12345, 1, 1), "-123450101 00:00:00 Z"); 30 check(new DateTime.utc(-12345, 1, 1), "-123450101 00:00:00 Z");
22 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+00"); 31 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+00");
23 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+0000"); 32 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+0000");
24 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+00:00"); 33 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+00:00");
25 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14 +00:00"); 34 check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14 +00:00");
26 35
27 check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0), 36 check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0),
28 "2015-02-15T00:00+11"); 37 "2015-02-15T00:00+11");
29 check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0), 38 check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0),
30 "2015-02-15T00:00:00+11"); 39 "2015-02-15T00:00:00+11");
31 check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0), 40 check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0),
32 "2015-02-15T00:00:00+11:00"); 41 "2015-02-15T00:00:00+11:00");
33 42
34 check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 501), 43 if (supportsMicroseconds) {
35 "2015-02-15T00:00:00.5005Z"); 44 check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 500, 500),
36 check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 512), 45 "2015-02-15T00:00:00.500500Z");
37 "2015-02-15T00:00:00.5115Z"); 46 check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 511, 500),
47 "2015-02-15T00:00:00.511500Z");
48 } else {
49 check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 501),
50 "2015-02-15T00:00:00.501Z");
51 check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 512),
52 "2015-02-15T00:00:00.512Z");
53 }
38 } 54 }
OLDNEW
« no previous file with comments | « tests/corelib/date_time4_test.dart ('k') | tests/corelib/date_time_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698