Add Cupterino button animation test (#87535)
This commit is contained in:
@@ -194,6 +194,38 @@ void main() {
|
||||
expect(SchedulerBinding.instance!.transientCallbackCount, equals(0));
|
||||
});
|
||||
|
||||
testWidgets('Enabled button animates', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(boilerplate(child: CupertinoButton(
|
||||
child: const Text('Tap me'),
|
||||
onPressed: () { },
|
||||
)));
|
||||
|
||||
await tester.tap(find.byType(CupertinoButton));
|
||||
// Enter animation.
|
||||
await tester.pump();
|
||||
FadeTransition transition = tester.firstWidget(find.byType(FadeTransition));
|
||||
|
||||
await tester.pump(const Duration(milliseconds: 25));
|
||||
transition = tester.firstWidget(find.byType(FadeTransition));
|
||||
expect(transition.opacity.value, moreOrLessEquals(0.4, epsilon: 0.001));
|
||||
|
||||
await tester.pump(const Duration(milliseconds: 25));
|
||||
transition = tester.firstWidget(find.byType(FadeTransition));
|
||||
expect(transition.opacity.value, moreOrLessEquals(0.437, epsilon: 0.001));
|
||||
|
||||
await tester.pump(const Duration(milliseconds: 25));
|
||||
transition = tester.firstWidget(find.byType(FadeTransition));
|
||||
expect(transition.opacity.value, moreOrLessEquals(0.55, epsilon: 0.001));
|
||||
|
||||
await tester.pump(const Duration(milliseconds: 25));
|
||||
transition = tester.firstWidget(find.byType(FadeTransition));
|
||||
expect(transition.opacity.value, moreOrLessEquals(0.737, epsilon: 0.001));
|
||||
|
||||
await tester.pump(const Duration(milliseconds: 25));
|
||||
transition = tester.firstWidget(find.byType(FadeTransition));
|
||||
expect(transition.opacity.value, moreOrLessEquals(1.0, epsilon: 0.001));
|
||||
});
|
||||
|
||||
testWidgets('pressedOpacity defaults to 0.1', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(boilerplate(child: CupertinoButton(
|
||||
child: const Text('Tap me'),
|
||||
|
||||
Reference in New Issue
Block a user