mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 11:03:19 +00:00
[corelib_2] Split date_time_test to increase coverage
After moving ~175 lines to other files, the remaining ~1200 lines of tests in date_time_test.dart passes on dart2js. Change-Id: Id8366b90083c22f71e5ff2e3f36ac1f0358ec8e2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108220 Reviewed-by: Lasse R.H. Nielsen <lrn@google.com> Commit-Queue: Stephen Adams <sra@google.com>
This commit is contained in:
parent
9bccb7ba4a
commit
f41d6de111
|
@ -20,7 +20,6 @@ bit_twiddling_test/int64: CompileTimeError, OK # Error if web int literal cannot
|
|||
compare_to2_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
|
||||
core_runtime_types_test: RuntimeError # Issue 34147
|
||||
date_time11_test: RuntimeError, Pass # Fails when US is on winter time, issue 31285.
|
||||
date_time_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
|
||||
double_ceil_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
|
||||
double_floor_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
|
||||
double_round_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
|
||||
|
|
99
tests/corelib_2/date_time_extremes_test.dart
Normal file
99
tests/corelib_2/date_time_extremes_test.dart
Normal file
|
@ -0,0 +1,99 @@
|
|||
// 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";
|
||||
|
||||
// Dart test program for DateTime, extreme values.
|
||||
|
||||
bool get supportsMicroseconds =>
|
||||
new DateTime.fromMicrosecondsSinceEpoch(1).microsecondsSinceEpoch == 1;
|
||||
|
||||
// Identical to _maxMillisecondsSinceEpoch in date_time.dart
|
||||
const int _MAX_MILLISECONDS = 8640000000000000;
|
||||
|
||||
void testExtremes() {
|
||||
var dt =
|
||||
new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.equals(275760, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(13, dt.day);
|
||||
Expect.equals(0, dt.hour);
|
||||
Expect.equals(0, dt.minute);
|
||||
Expect.equals(0, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.equals(-271821, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(20, dt.day);
|
||||
Expect.equals(0, dt.hour);
|
||||
Expect.equals(0, dt.minute);
|
||||
Expect.equals(0, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
// Make sure that we can build the extreme dates in local too.
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(_MAX_MILLISECONDS, dt.millisecondsSinceEpoch);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(-_MAX_MILLISECONDS, dt.millisecondsSinceEpoch);
|
||||
Expect.throws(() => new DateTime.fromMillisecondsSinceEpoch(
|
||||
_MAX_MILLISECONDS + 1,
|
||||
isUtc: true));
|
||||
Expect.throws(() => new DateTime.fromMillisecondsSinceEpoch(
|
||||
-_MAX_MILLISECONDS - 1,
|
||||
isUtc: true));
|
||||
Expect.throws(
|
||||
() => new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS + 1));
|
||||
Expect.throws(
|
||||
() => new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS - 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS);
|
||||
Expect.throws(
|
||||
() => new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() =>
|
||||
new DateTime.utc(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS);
|
||||
Expect.throws(
|
||||
() => new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, -1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() =>
|
||||
new DateTime.utc(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, -1));
|
||||
|
||||
if (!supportsMicroseconds) return;
|
||||
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(_MAX_MILLISECONDS * 1000);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(_MAX_MILLISECONDS * 1000, dt.microsecondsSinceEpoch);
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(-_MAX_MILLISECONDS * 1000);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(-_MAX_MILLISECONDS * 1000, dt.microsecondsSinceEpoch);
|
||||
Expect.throws(() => new DateTime.fromMicrosecondsSinceEpoch(
|
||||
_MAX_MILLISECONDS * 1000 + 1,
|
||||
isUtc: true));
|
||||
Expect.throws(() => new DateTime.fromMicrosecondsSinceEpoch(
|
||||
-_MAX_MILLISECONDS * 1000 - 1,
|
||||
isUtc: true));
|
||||
Expect.throws(() =>
|
||||
new DateTime.fromMicrosecondsSinceEpoch(_MAX_MILLISECONDS * 1000 + 1));
|
||||
Expect.throws(() =>
|
||||
new DateTime.fromMicrosecondsSinceEpoch(-_MAX_MILLISECONDS * 1000 - 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS);
|
||||
Expect.throws(() =>
|
||||
new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() =>
|
||||
new DateTime.utc(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS);
|
||||
Expect.throws(() =>
|
||||
new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, -1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() => new DateTime.utc(
|
||||
dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, -1));
|
||||
}
|
||||
|
||||
void main() {
|
||||
testExtremes();
|
||||
}
|
107
tests/corelib_2/date_time_far_away_dates_test.dart
Normal file
107
tests/corelib_2/date_time_far_away_dates_test.dart
Normal file
|
@ -0,0 +1,107 @@
|
|||
// Copyright (c) 2019, 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";
|
||||
|
||||
// Dart test program for DateTime, far away dates.
|
||||
|
||||
// TODO(37442): Find far-away dates with milliseconds-since-epoch values that
|
||||
// are 'web' integers.
|
||||
|
||||
bool get supportsMicroseconds =>
|
||||
new DateTime.fromMicrosecondsSinceEpoch(1).microsecondsSinceEpoch == 1;
|
||||
|
||||
void testFarAwayDates() {
|
||||
DateTime dt =
|
||||
new DateTime.fromMillisecondsSinceEpoch(1000000000000001, isUtc: true);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(27, dt.day);
|
||||
Expect.equals(1, dt.hour);
|
||||
Expect.equals(46, dt.minute);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(1, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-1000000000000001, isUtc: true);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(5, dt.day);
|
||||
Expect.equals(22, dt.hour);
|
||||
Expect.equals(13, dt.minute);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
// Same with local zone.
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(1000000000000001);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(true, dt.day == 27 || dt.day == 26);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 46 % 15);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(1, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-1000000000000001);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(true, 5 == dt.day || 6 == dt.day);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 13);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
|
||||
if (!supportsMicroseconds) return;
|
||||
dt =
|
||||
new DateTime.fromMicrosecondsSinceEpoch(1000000000000000001, isUtc: true);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(27, dt.day);
|
||||
Expect.equals(1, dt.hour);
|
||||
Expect.equals(46, dt.minute);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(1, dt.microsecond);
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(-1000000000000000001,
|
||||
isUtc: true);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(5, dt.day);
|
||||
Expect.equals(22, dt.hour);
|
||||
Expect.equals(13, dt.minute);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(999, dt.microsecond);
|
||||
// Same with local zone.
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(1000000000000000001);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(true, dt.day == 27 || dt.day == 26);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 46 % 15);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(1, dt.microsecond);
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(-1000000000000000001);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(true, 5 == dt.day || 6 == dt.day);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 13);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(999, dt.microsecond);
|
||||
}
|
||||
|
||||
void main() {
|
||||
testFarAwayDates();
|
||||
}
|
|
@ -49,96 +49,6 @@ void testMicrosecondsSinceEpoch() {
|
|||
Expect.equals(microsecondsSinceEpoch, dt2.microsecondsSinceEpoch);
|
||||
}
|
||||
|
||||
void testFarAwayDates() {
|
||||
DateTime dt =
|
||||
new DateTime.fromMillisecondsSinceEpoch(1000000000000001, isUtc: true);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(27, dt.day);
|
||||
Expect.equals(1, dt.hour);
|
||||
Expect.equals(46, dt.minute);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(1, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-1000000000000001, isUtc: true);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(5, dt.day);
|
||||
Expect.equals(22, dt.hour);
|
||||
Expect.equals(13, dt.minute);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
// Same with local zone.
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(1000000000000001);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(true, dt.day == 27 || dt.day == 26);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 46 % 15);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(1, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-1000000000000001);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(true, 5 == dt.day || 6 == dt.day);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 13);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
|
||||
if (!supportsMicroseconds) return;
|
||||
dt =
|
||||
new DateTime.fromMicrosecondsSinceEpoch(1000000000000000001, isUtc: true);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(27, dt.day);
|
||||
Expect.equals(1, dt.hour);
|
||||
Expect.equals(46, dt.minute);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(1, dt.microsecond);
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(-1000000000000000001,
|
||||
isUtc: true);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(5, dt.day);
|
||||
Expect.equals(22, dt.hour);
|
||||
Expect.equals(13, dt.minute);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(999, dt.microsecond);
|
||||
// Same with local zone.
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(1000000000000000001);
|
||||
Expect.equals(33658, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(true, dt.day == 27 || dt.day == 26);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 46 % 15);
|
||||
Expect.equals(40, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(1, dt.microsecond);
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(-1000000000000000001);
|
||||
Expect.equals(-29719, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(true, 5 == dt.day || 6 == dt.day);
|
||||
// Not much we can test for local hour.
|
||||
Expect.equals(true, dt.hour >= 0 && dt.hour < 24);
|
||||
// Timezones can have offsets down to 15 minute.
|
||||
Expect.equals(true, dt.minute % 15 == 13);
|
||||
Expect.equals(19, dt.second);
|
||||
Expect.equals(999, dt.millisecond);
|
||||
Expect.equals(999, dt.microsecond);
|
||||
}
|
||||
|
||||
void testEquivalentYears() {
|
||||
// All hardcoded values come from V8. This means that the values are not
|
||||
// necessarily correct (see limitations of DateTime object in
|
||||
|
@ -363,88 +273,6 @@ void testEquivalentYears() {
|
|||
Expect.equals(0, dt.microsecond);
|
||||
}
|
||||
|
||||
void testExtremes() {
|
||||
var dt =
|
||||
new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.equals(275760, dt.year);
|
||||
Expect.equals(9, dt.month);
|
||||
Expect.equals(13, dt.day);
|
||||
Expect.equals(0, dt.hour);
|
||||
Expect.equals(0, dt.minute);
|
||||
Expect.equals(0, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.equals(-271821, dt.year);
|
||||
Expect.equals(4, dt.month);
|
||||
Expect.equals(20, dt.day);
|
||||
Expect.equals(0, dt.hour);
|
||||
Expect.equals(0, dt.minute);
|
||||
Expect.equals(0, dt.second);
|
||||
Expect.equals(0, dt.millisecond);
|
||||
Expect.equals(0, dt.microsecond);
|
||||
// Make sure that we can build the extreme dates in local too.
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(_MAX_MILLISECONDS, dt.millisecondsSinceEpoch);
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(-_MAX_MILLISECONDS, dt.millisecondsSinceEpoch);
|
||||
Expect.throws(() => new DateTime.fromMillisecondsSinceEpoch(
|
||||
_MAX_MILLISECONDS + 1,
|
||||
isUtc: true));
|
||||
Expect.throws(() => new DateTime.fromMillisecondsSinceEpoch(
|
||||
-_MAX_MILLISECONDS - 1,
|
||||
isUtc: true));
|
||||
Expect.throws(
|
||||
() => new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS + 1));
|
||||
Expect.throws(
|
||||
() => new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS - 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS);
|
||||
Expect.throws(
|
||||
() => new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() =>
|
||||
new DateTime.utc(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS);
|
||||
Expect.throws(
|
||||
() => new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, -1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() =>
|
||||
new DateTime.utc(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, -1));
|
||||
|
||||
if (!supportsMicroseconds) return;
|
||||
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(_MAX_MILLISECONDS * 1000);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(_MAX_MILLISECONDS * 1000, dt.microsecondsSinceEpoch);
|
||||
dt = new DateTime.fromMicrosecondsSinceEpoch(-_MAX_MILLISECONDS * 1000);
|
||||
dt = new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute);
|
||||
Expect.equals(-_MAX_MILLISECONDS * 1000, dt.microsecondsSinceEpoch);
|
||||
Expect.throws(() => new DateTime.fromMicrosecondsSinceEpoch(
|
||||
_MAX_MILLISECONDS * 1000 + 1,
|
||||
isUtc: true));
|
||||
Expect.throws(() => new DateTime.fromMicrosecondsSinceEpoch(
|
||||
-_MAX_MILLISECONDS * 1000 - 1,
|
||||
isUtc: true));
|
||||
Expect.throws(() =>
|
||||
new DateTime.fromMicrosecondsSinceEpoch(_MAX_MILLISECONDS * 1000 + 1));
|
||||
Expect.throws(() =>
|
||||
new DateTime.fromMicrosecondsSinceEpoch(-_MAX_MILLISECONDS * 1000 - 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS);
|
||||
Expect.throws(() =>
|
||||
new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() =>
|
||||
new DateTime.utc(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, 1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS);
|
||||
Expect.throws(() =>
|
||||
new DateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, -1));
|
||||
dt = new DateTime.fromMillisecondsSinceEpoch(-_MAX_MILLISECONDS, isUtc: true);
|
||||
Expect.throws(() => new DateTime.utc(
|
||||
dt.year, dt.month, dt.day, dt.hour, dt.minute, 0, 0, -1));
|
||||
}
|
||||
|
||||
void testUTCGetters() {
|
||||
var dt = new DateTime.fromMillisecondsSinceEpoch(1305140315000, isUtc: true);
|
||||
Expect.equals(2011, dt.year);
|
||||
|
@ -1372,8 +1200,6 @@ void main() {
|
|||
testUnderflowAndOverflow();
|
||||
testDateStrings();
|
||||
testEquivalentYears();
|
||||
testExtremes();
|
||||
testFarAwayDates();
|
||||
testWeekday();
|
||||
testToStrings();
|
||||
testIsoString();
|
||||
|
|
Loading…
Reference in a new issue