| Index: tests/corelib/date_time10_test.dart
|
| diff --git a/tests/corelib/date_time10_test.dart b/tests/corelib/date_time10_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3d7d34e0091c33afbbe6aff513be67def8fd0ccc
|
| --- /dev/null
|
| +++ b/tests/corelib/date_time10_test.dart
|
| @@ -0,0 +1,54 @@
|
| +// Copyright (c) 2012, 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";
|
| +
|
| +// Make sure the years in the range of single digits are handled correctly with
|
| +// month roll-over. (This tests an edge condition when delegating to
|
| +// JavaScript's Date constructor.)
|
| +
|
| +void check(String expected, DateTime actual) {
|
| + Expect.equals(expected, actual.toString());
|
| +}
|
| +
|
| +testUtc() {
|
| + check("0099-01-01 00:00:00.000Z", new DateTime.utc(99, 1));
|
| + check("0100-01-01 00:00:00.000Z", new DateTime.utc(99, 1 + 12));
|
| + check("0000-01-01 00:00:00.000Z", new DateTime.utc(0, 1));
|
| + check("-0001-01-01 00:00:00.000Z", new DateTime.utc(0, 1 - 12));
|
| +
|
| + check("0099-03-02 00:00:00.000Z", new DateTime.utc(99, 2, 30));
|
| + check("0100-03-02 00:00:00.000Z", new DateTime.utc(99, 2 + 12, 30));
|
| +
|
| + check("0004-03-01 00:00:00.000Z", new DateTime.utc(3, 2 + 12, 30));
|
| + check("0004-03-01 00:00:00.000Z", new DateTime.utc(4, 2, 30));
|
| + check("0004-03-01 00:00:00.000Z", new DateTime.utc(5, 2 - 12, 30));
|
| +
|
| + check("0005-03-02 00:00:00.000Z", new DateTime.utc(4, 2 + 12, 30));
|
| + check("0005-03-02 00:00:00.000Z", new DateTime.utc(5, 2, 30));
|
| + check("0005-03-02 00:00:00.000Z", new DateTime.utc(6, 2 - 12, 30));
|
| +}
|
| +
|
| +testLocal() {
|
| + check("0099-01-01 00:00:00.000", new DateTime(99, 1));
|
| + check("0100-01-01 00:00:00.000", new DateTime(99, 1 + 12));
|
| + check("0000-01-01 00:00:00.000", new DateTime(0, 1));
|
| + check("-0001-01-01 00:00:00.000", new DateTime(0, 1 - 12));
|
| +
|
| + check("0099-03-02 00:00:00.000", new DateTime(99, 2, 30));
|
| + check("0100-03-02 00:00:00.000", new DateTime(99, 2 + 12, 30));
|
| +
|
| + check("0004-03-01 00:00:00.000", new DateTime(3, 2 + 12, 30));
|
| + check("0004-03-01 00:00:00.000", new DateTime(4, 2, 30));
|
| + check("0004-03-01 00:00:00.000", new DateTime(5, 2 - 12, 30));
|
| +
|
| + check("0005-03-02 00:00:00.000", new DateTime(4, 2 + 12, 30));
|
| + check("0005-03-02 00:00:00.000", new DateTime(5, 2, 30));
|
| + check("0005-03-02 00:00:00.000", new DateTime(6, 2 - 12, 30));
|
| +}
|
| +
|
| +main() {
|
| + testUtc();
|
| + testLocal();
|
| +}
|
|
|