mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

As per the recent fix to the `always_specify_types` lint (https://github.com/dart-lang/linter/issues/199), literal maps and lists are now expected to be explicitly typed. Running that lint on the repo identifies quite a few spots to update. This focuses on `flutter_driver` and `flutter_sprites` (somewhat arbitrarily) but the changes are fairly representative. Note there are a number of places where I made a quick judgement on how specific to make the types. Feedback on those is welcome. (Especially as we move forward with more.)
214 lines
6.1 KiB
Dart
214 lines
6.1 KiB
Dart
// Copyright 2015 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'dart:ui';
|
|
|
|
import 'package:flutter_sprites/flutter_sprites.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
const double epsilon = 0.01;
|
|
|
|
void main() {
|
|
test("Actions - ActionTween", () {
|
|
// Tween doubles.
|
|
double doubleValue;
|
|
ActionTween tween = new ActionTween((double a) => doubleValue = a, 0.0, 10.0, 60.0);
|
|
|
|
tween.update(0.0);
|
|
expect(doubleValue, closeTo(0.0, epsilon));
|
|
|
|
tween.update(0.1);
|
|
expect(doubleValue, closeTo(1.0, epsilon));
|
|
|
|
tween.update(0.5);
|
|
expect(doubleValue, closeTo(5.0, epsilon));
|
|
|
|
tween.update(1.0);
|
|
expect(doubleValue, closeTo(10.0, epsilon));
|
|
|
|
tween.update(1.5);
|
|
expect(doubleValue, closeTo(15.0, epsilon));
|
|
|
|
tween.update(-0.5);
|
|
expect(doubleValue, closeTo(-5.0, epsilon));
|
|
|
|
// Tween Points.
|
|
Point pointValue;
|
|
tween = new ActionTween((Point a) => pointValue = a, Point.origin, new Point(10.0, 20.0), 60.0);
|
|
|
|
tween.update(0.0);
|
|
expect(pointValue.x, closeTo(0.0, epsilon));
|
|
expect(pointValue.y, closeTo(0.0, epsilon));
|
|
|
|
tween.update(0.1);
|
|
expect(pointValue.x, closeTo(1.0, epsilon));
|
|
expect(pointValue.y, closeTo(2.0, epsilon));
|
|
|
|
tween.update(0.5);
|
|
expect(pointValue.x, closeTo(5.0, epsilon));
|
|
expect(pointValue.y, closeTo(10.0, epsilon));
|
|
|
|
tween.update(1.0);
|
|
expect(pointValue.x, closeTo(10.0, epsilon));
|
|
expect(pointValue.y, closeTo(20.0, epsilon));
|
|
|
|
tween.update(1.5);
|
|
expect(pointValue.x, closeTo(15.0, epsilon));
|
|
expect(pointValue.y, closeTo(30.0, epsilon));
|
|
|
|
tween.update(-0.5);
|
|
expect(pointValue.x, closeTo(-5.0, epsilon));
|
|
expect(pointValue.y, closeTo(-10.0, epsilon));
|
|
|
|
// Tween Colors.
|
|
Color colorValue;
|
|
tween = new ActionTween((Color a) => colorValue = a, const Color(0xff000000), const Color(0xffffffff), 60.0);
|
|
|
|
tween.update(0.0);
|
|
expect(colorValue, equals(const Color(0xff000000)));
|
|
|
|
tween.update(0.5);
|
|
expect(colorValue, equals(const Color(0xff7f7f7f)));
|
|
|
|
tween.update(1.0);
|
|
expect(colorValue, equals(const Color(0xffffffff)));
|
|
|
|
tween.update(-0.5);
|
|
expect(colorValue, equals(const Color(0xff000000)));
|
|
|
|
tween.update(1.5);
|
|
expect(colorValue, equals(const Color(0xffffffff)));
|
|
|
|
// Tween Size.
|
|
Size sizeValue;
|
|
tween = new ActionTween((Size a) => sizeValue = a, Size.zero, const Size(200.0, 100.0), 60.0);
|
|
|
|
tween.update(0.0);
|
|
expect(sizeValue, equals(Size.zero));
|
|
|
|
tween.update(1.0);
|
|
expect(sizeValue, equals(const Size(200.0, 100.0)));
|
|
|
|
tween.update(0.5);
|
|
expect(sizeValue.width, closeTo(100.0, epsilon));
|
|
expect(sizeValue.height, closeTo(50.0, epsilon));
|
|
|
|
// Tween Rect.
|
|
Rect rectValue;
|
|
tween = new ActionTween(
|
|
(Rect a) => rectValue = a,
|
|
new Rect.fromLTWH(0.0, 0.0, 100.0, 100.0),
|
|
new Rect.fromLTWH(100.0, 100.0, 200.0, 200.0),
|
|
60.0
|
|
);
|
|
|
|
tween.update(0.0);
|
|
expect(rectValue, equals(new Rect.fromLTWH(0.0, 0.0, 100.0, 100.0)));
|
|
|
|
tween.update(1.0);
|
|
expect(rectValue, equals(new Rect.fromLTWH(100.0, 100.0, 200.0, 200.0)));
|
|
|
|
tween.update(0.5);
|
|
expect(rectValue.left, closeTo(50.0, epsilon));
|
|
expect(rectValue.top, closeTo(50.0, epsilon));
|
|
expect(rectValue.width, closeTo(150.0, epsilon));
|
|
expect(rectValue.height, closeTo(150.0, epsilon));
|
|
});
|
|
|
|
test("Actions - ActionRepeat", () {
|
|
double doubleValue;
|
|
ActionTween tween = new ActionTween((double a) => doubleValue = a, 0.0, 1.0, 60.0);
|
|
|
|
ActionRepeat repeat2x = new ActionRepeat(tween, 2);
|
|
expect(repeat2x.duration, closeTo(120.0, epsilon));
|
|
|
|
repeat2x.update(0.0);
|
|
expect(doubleValue, closeTo(0.0, epsilon));
|
|
|
|
repeat2x.update(0.25);
|
|
expect(doubleValue, closeTo(0.5, epsilon));
|
|
|
|
repeat2x.update(0.75);
|
|
expect(doubleValue, closeTo(0.5, epsilon));
|
|
|
|
repeat2x.update(1.0);
|
|
expect(doubleValue, closeTo(1.0, epsilon));
|
|
|
|
ActionRepeat repeat4x = new ActionRepeat(tween, 4);
|
|
expect(repeat4x.duration, closeTo(240.0, epsilon));
|
|
|
|
repeat4x.update(0.0);
|
|
expect(doubleValue, closeTo(0.0, epsilon));
|
|
|
|
repeat4x.update(0.125);
|
|
expect(doubleValue, closeTo(0.5, epsilon));
|
|
|
|
repeat4x.update(0.875);
|
|
expect(doubleValue, closeTo(0.5, epsilon));
|
|
|
|
repeat4x.update(1.0);
|
|
expect(doubleValue, closeTo(1.0, epsilon));
|
|
});
|
|
|
|
test("Actions - ActionGroup", () {
|
|
double value0;
|
|
double value1;
|
|
|
|
ActionTween tween0 = new ActionTween((double a) => value0 = a, 0.0, 1.0, 10.0);
|
|
ActionTween tween1 = new ActionTween((double a) => value1 = a, 0.0, 1.0, 20.0);
|
|
|
|
ActionGroup group = new ActionGroup(<ActionTween>[tween0, tween1]);
|
|
expect(group.duration, closeTo(20.0, epsilon));
|
|
|
|
group.update(0.0);
|
|
expect(value0, closeTo(0.0, epsilon));
|
|
expect(value1, closeTo(0.0, epsilon));
|
|
|
|
group.update(0.5);
|
|
expect(value0, closeTo(1.0, epsilon));
|
|
expect(value1, closeTo(0.5, epsilon));
|
|
|
|
group.update(1.0);
|
|
expect(value0, closeTo(1.0, epsilon));
|
|
expect(value1, closeTo(1.0, epsilon));
|
|
});
|
|
|
|
test("Actions - ActionSequence", () {
|
|
double doubleValue;
|
|
|
|
ActionTween tween0 = new ActionTween((double a) => doubleValue = a, 0.0, 1.0, 4.0);
|
|
ActionTween tween1 = new ActionTween((double a) => doubleValue = a, 1.0, 0.0, 12.0);
|
|
|
|
ActionSequence sequence = new ActionSequence(<ActionTween>[tween0, tween1]);
|
|
expect(sequence.duration, closeTo(16.0, epsilon));
|
|
|
|
sequence.update(0.0);
|
|
expect(doubleValue, closeTo(0.0, epsilon));
|
|
|
|
sequence.update(0.125);
|
|
expect(doubleValue, closeTo(0.5, epsilon));
|
|
|
|
sequence.update(0.25);
|
|
expect(doubleValue, closeTo(1.0, epsilon));
|
|
|
|
sequence.update(1.0);
|
|
expect(doubleValue, closeTo(0.0, epsilon));
|
|
});
|
|
|
|
test("Actions - stepping", () {
|
|
double doubleValue;
|
|
|
|
ActionTween tween = new ActionTween((double a) => doubleValue = a, 0.0, 1.0, 60.0);
|
|
|
|
tween.step(0.0);
|
|
expect(doubleValue, closeTo(0.0, epsilon));
|
|
|
|
tween.step(30.0);
|
|
expect(doubleValue, closeTo(0.5, epsilon));
|
|
|
|
tween.step(30.0);
|
|
expect(doubleValue, closeTo(1.0, epsilon));
|
|
});
|
|
}
|