@@ -85,6 +85,8 @@ void main() {
85
85
expect (mockOnEndFunction.called, 0 );
86
86
await tester.pump (additionalDelay);
87
87
expect (mockOnEndFunction.called, 1 );
88
+
89
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
88
90
});
89
91
90
92
testWidgets ('AnimatedPadding onEnd callback test' , (WidgetTester tester) async {
@@ -106,6 +108,8 @@ void main() {
106
108
expect (mockOnEndFunction.called, 0 );
107
109
await tester.pump (additionalDelay);
108
110
expect (mockOnEndFunction.called, 1 );
111
+
112
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
109
113
});
110
114
111
115
testWidgets ('AnimatedAlign onEnd callback test' , (WidgetTester tester) async {
@@ -127,6 +131,8 @@ void main() {
127
131
expect (mockOnEndFunction.called, 0 );
128
132
await tester.pump (additionalDelay);
129
133
expect (mockOnEndFunction.called, 1 );
134
+
135
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
130
136
});
131
137
132
138
testWidgets ('AnimatedPositioned onEnd callback test' , (WidgetTester tester) async {
@@ -148,6 +154,8 @@ void main() {
148
154
expect (mockOnEndFunction.called, 0 );
149
155
await tester.pump (additionalDelay);
150
156
expect (mockOnEndFunction.called, 1 );
157
+
158
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
151
159
});
152
160
153
161
testWidgets ('AnimatedPositionedDirectional onEnd callback test' , (WidgetTester tester) async {
@@ -169,6 +177,8 @@ void main() {
169
177
expect (mockOnEndFunction.called, 0 );
170
178
await tester.pump (additionalDelay);
171
179
expect (mockOnEndFunction.called, 1 );
180
+
181
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
172
182
});
173
183
174
184
testWidgets ('AnimatedSlide onEnd callback test' , (WidgetTester tester) async {
@@ -189,6 +199,8 @@ void main() {
189
199
expect (mockOnEndFunction.called, 0 );
190
200
await tester.pump (additionalDelay);
191
201
expect (mockOnEndFunction.called, 1 );
202
+
203
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
192
204
});
193
205
194
206
testWidgets ('AnimatedSlide transition test' , (WidgetTester tester) async {
@@ -247,6 +259,8 @@ void main() {
247
259
expect (mockOnEndFunction.called, 0 );
248
260
await tester.pump (additionalDelay);
249
261
expect (mockOnEndFunction.called, 1 );
262
+
263
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
250
264
});
251
265
252
266
testWidgets ('AnimatedScale transition test' , (WidgetTester tester) async {
@@ -305,6 +319,8 @@ void main() {
305
319
expect (mockOnEndFunction.called, 0 );
306
320
await tester.pump (additionalDelay);
307
321
expect (mockOnEndFunction.called, 1 );
322
+
323
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
308
324
});
309
325
310
326
testWidgets ('AnimatedRotation transition test' , (WidgetTester tester) async {
@@ -363,6 +379,8 @@ void main() {
363
379
expect (mockOnEndFunction.called, 0 );
364
380
await tester.pump (additionalDelay);
365
381
expect (mockOnEndFunction.called, 1 );
382
+
383
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
366
384
});
367
385
368
386
testWidgets ('AnimatedOpacity transition test' , (WidgetTester tester) async {
@@ -421,6 +439,8 @@ void main() {
421
439
expect (mockOnEndFunction.called, 0 );
422
440
await tester.pump (additionalDelay);
423
441
expect (mockOnEndFunction.called, 1 );
442
+
443
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
424
444
});
425
445
426
446
testWidgets ('SliverAnimatedOpacity transition test' , (WidgetTester tester) async {
@@ -480,6 +500,8 @@ void main() {
480
500
expect (mockOnEndFunction.called, 0 );
481
501
await tester.pump (additionalDelay);
482
502
expect (mockOnEndFunction.called, 1 );
503
+
504
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
483
505
});
484
506
485
507
testWidgets ('AnimatedPhysicalModel onEnd callback test' , (WidgetTester tester) async {
@@ -501,6 +523,8 @@ void main() {
501
523
expect (mockOnEndFunction.called, 0 );
502
524
await tester.pump (additionalDelay);
503
525
expect (mockOnEndFunction.called, 1 );
526
+
527
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
504
528
});
505
529
506
530
testWidgets ('TweenAnimationBuilder onEnd callback test' , (WidgetTester tester) async {
@@ -522,6 +546,8 @@ void main() {
522
546
expect (mockOnEndFunction.called, 0 );
523
547
await tester.pump (additionalDelay);
524
548
expect (mockOnEndFunction.called, 1 );
549
+
550
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
525
551
});
526
552
527
553
testWidgets ('AnimatedTheme onEnd callback test' , (WidgetTester tester) async {
@@ -543,6 +569,8 @@ void main() {
543
569
expect (mockOnEndFunction.called, 0 );
544
570
await tester.pump (additionalDelay);
545
571
expect (mockOnEndFunction.called, 1 );
572
+
573
+ await tapTest2and3 (tester, widgetFinder, mockOnEndFunction);
546
574
});
547
575
548
576
testWidgets ('Ensure CurvedAnimations are disposed on widget change' ,
@@ -599,6 +627,21 @@ void main() {
599
627
});
600
628
}
601
629
630
+ Future <void > tapTest2and3 (WidgetTester tester, Finder widgetFinder,
631
+ MockOnEndFunction mockOnEndFunction) async {
632
+ await tester.tap (widgetFinder);
633
+
634
+ await tester.pump ();
635
+ await tester.pump (animationDuration + additionalDelay);
636
+ expect (mockOnEndFunction.called, 2 );
637
+
638
+ await tester.tap (widgetFinder);
639
+
640
+ await tester.pump ();
641
+ await tester.pump (animationDuration + additionalDelay);
642
+ expect (mockOnEndFunction.called, 3 );
643
+ }
644
+
602
645
Widget wrap ({required Widget child}) {
603
646
return Directionality (
604
647
textDirection: TextDirection .ltr,
@@ -664,6 +707,7 @@ class _TestAnimatedContainerWidgetState extends _TestAnimatedWidgetState {
664
707
duration: duration,
665
708
onEnd: widget.callback,
666
709
width: toggle ? 10 : 20 ,
710
+ foregroundDecoration: toggle ? const BoxDecoration () : null ,
667
711
child: child,
668
712
);
669
713
}
@@ -835,7 +879,7 @@ class _TestTweenAnimationBuilderWidgetState extends _TestAnimatedWidgetState {
835
879
@override
836
880
Widget getAnimatedWidget () {
837
881
return TweenAnimationBuilder <double >(
838
- tween: Tween <double >(begin: 1 , end: 2 ),
882
+ tween: toggle ? Tween <double >(begin: 1 , end: 2 ) : Tween < double >(begin : 2 , end : 1 ),
839
883
duration: duration,
840
884
onEnd: widget.callback,
841
885
child: child,
0 commit comments