| 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");
|
| + }
|
| +}
|
|
|