Skip to content

Commit d1eff7f

Browse files
authored
Add Cupterino button animation test (flutter#87535)
1 parent f61074c commit d1eff7f

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

packages/flutter/test/cupertino/button_test.dart

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,38 @@ void main() {
194194
expect(SchedulerBinding.instance!.transientCallbackCount, equals(0));
195195
});
196196

197+
testWidgets('Enabled button animates', (WidgetTester tester) async {
198+
await tester.pumpWidget(boilerplate(child: CupertinoButton(
199+
child: const Text('Tap me'),
200+
onPressed: () { },
201+
)));
202+
203+
await tester.tap(find.byType(CupertinoButton));
204+
// Enter animation.
205+
await tester.pump();
206+
FadeTransition transition = tester.firstWidget(find.byType(FadeTransition));
207+
208+
await tester.pump(const Duration(milliseconds: 25));
209+
transition = tester.firstWidget(find.byType(FadeTransition));
210+
expect(transition.opacity.value, moreOrLessEquals(0.4, epsilon: 0.001));
211+
212+
await tester.pump(const Duration(milliseconds: 25));
213+
transition = tester.firstWidget(find.byType(FadeTransition));
214+
expect(transition.opacity.value, moreOrLessEquals(0.437, epsilon: 0.001));
215+
216+
await tester.pump(const Duration(milliseconds: 25));
217+
transition = tester.firstWidget(find.byType(FadeTransition));
218+
expect(transition.opacity.value, moreOrLessEquals(0.55, epsilon: 0.001));
219+
220+
await tester.pump(const Duration(milliseconds: 25));
221+
transition = tester.firstWidget(find.byType(FadeTransition));
222+
expect(transition.opacity.value, moreOrLessEquals(0.737, epsilon: 0.001));
223+
224+
await tester.pump(const Duration(milliseconds: 25));
225+
transition = tester.firstWidget(find.byType(FadeTransition));
226+
expect(transition.opacity.value, moreOrLessEquals(1.0, epsilon: 0.001));
227+
});
228+
197229
testWidgets('pressedOpacity defaults to 0.1', (WidgetTester tester) async {
198230
await tester.pumpWidget(boilerplate(child: CupertinoButton(
199231
child: const Text('Tap me'),

0 commit comments

Comments
 (0)