flutter/packages/flutter_tools/test/general.shard/time_test.dart
Jonah Williams 74bd7b6f6d
[flutter_tools] opt all flutter tool libraries and tests out of null safety. (#74832)
* opt out the flutter tool

* oops EOF

* fix import

* Update tool_backend.dart

* Update daemon_client.dart

* fix more
2021-01-27 15:17:53 -08:00

42 lines
1.4 KiB
Dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:flutter_tools/src/base/time.dart';
import '../src/common.dart';
void main() {
group(SystemClock, () {
test('can set a fixed time', () {
final SystemClock clock = SystemClock.fixed(DateTime(1991, 8, 23));
expect(clock.now(), DateTime(1991, 8, 23));
});
test('can find a time ago', () {
final SystemClock clock = SystemClock.fixed(DateTime(1991, 8, 23));
expect(clock.ago(const Duration(days: 10)), DateTime(1991, 8, 13));
});
});
group('formatting', () {
test('can round-trip formatted time', () {
final DateTime time = DateTime(1991, 7, 31);
expect(time.isUtc, isFalse);
// formatDateTime() adds a timezone offset to DateTime.toString().
final String formattedTime = formatDateTime(time);
// If a date time string has a timezone offset, DateTime.tryParse()
// converts the parsed time to UTC.
final DateTime parsedTime = DateTime.tryParse(formattedTime);
expect(parsedTime, isNotNull);
expect(parsedTime.isUtc, isTrue);
// Convert the parsed time (which should be utc) to the local timezone and
// compare against the original time which is in the local timezone. They
// should be the same.
expect(parsedTime.toLocal(), equals(time));
});
});
}