Index: test/codegen/corelib/date_time_parse_test.dart |
diff --git a/test/codegen/corelib/date_time_parse_test.dart b/test/codegen/corelib/date_time_parse_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..85f183a54f28669728c04390e39b06cbfcc58619 |
--- /dev/null |
+++ b/test/codegen/corelib/date_time_parse_test.dart |
@@ -0,0 +1,54 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+import "package:expect/expect.dart"; |
+ |
+check(DateTime expected, String str) { |
+ DateTime actual = DateTime.parse(str); |
+ Expect.equals(expected, actual); // Only checks if they are at the same time. |
+ Expect.equals(expected.isUtc, actual.isUtc); |
+} |
+ |
+bool get supportsMicroseconds => |
+ new DateTime.fromMicrosecondsSinceEpoch(1).microsecondsSinceEpoch == 1; |
+ |
+main() { |
+ check(new DateTime(2012, 02, 27, 13, 27), "2012-02-27 13:27:00"); |
+ if (supportsMicroseconds) { |
+ check(new DateTime.utc(2012, 02, 27, 13, 27, 0, 123, 456), |
+ "2012-02-27 13:27:00.123456z"); |
+ } else { |
+ check(new DateTime.utc(2012, 02, 27, 13, 27, 0, 123, 456), |
+ "2012-02-27 13:27:00.123z"); |
+ } |
+ check(new DateTime(2012, 02, 27, 13, 27), "20120227 13:27:00"); |
+ check(new DateTime(2012, 02, 27, 13, 27), "20120227T132700"); |
+ check(new DateTime(2012, 02, 27), "20120227"); |
+ check(new DateTime(2012, 02, 27), "+20120227"); |
+ check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14Z"); |
+ check(new DateTime.utc(-12345, 1, 1), "-123450101 00:00:00 Z"); |
+ check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+00"); |
+ check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+0000"); |
+ check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14+00:00"); |
+ check(new DateTime.utc(2012, 02, 27, 14), "2012-02-27T14 +00:00"); |
+ |
+ check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0), |
+ "2015-02-15T00:00+11"); |
+ check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0), |
+ "2015-02-15T00:00:00+11"); |
+ check(new DateTime.utc(2015, 02, 14, 13, 0, 0, 0), |
+ "2015-02-15T00:00:00+11:00"); |
+ |
+ if (supportsMicroseconds) { |
+ check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 500, 500), |
+ "2015-02-15T00:00:00.500500Z"); |
+ check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 511, 500), |
+ "2015-02-15T00:00:00.511500Z"); |
+ } else { |
+ check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 501), |
+ "2015-02-15T00:00:00.501Z"); |
+ check(new DateTime.utc(2015, 02, 15, 0, 0, 0, 512), |
+ "2015-02-15T00:00:00.512Z"); |
+ } |
+} |