Skip to content

Commit 7cd8b40

Browse files
authored
Cover more test/widgets tests with leak tracking #4 (flutter#134663)
1 parent f38dcb1 commit 7cd8b40

31 files changed

+301
-246
lines changed

packages/flutter/test/widgets/implicit_animations_test.dart

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'package:flutter/material.dart';
66
import 'package:flutter_test/flutter_test.dart';
7+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
78

89
class MockOnEndFunction {
910
int called = 0;
@@ -24,7 +25,7 @@ void main() {
2425
mockOnEndFunction = MockOnEndFunction();
2526
});
2627

27-
testWidgets('BoxConstraintsTween control test', (WidgetTester tester) async {
28+
testWidgetsWithLeakTracking('BoxConstraintsTween control test', (WidgetTester tester) async {
2829
final BoxConstraintsTween tween = BoxConstraintsTween(
2930
begin: BoxConstraints.tight(const Size(20.0, 50.0)),
3031
end: BoxConstraints.tight(const Size(10.0, 30.0)),
@@ -36,7 +37,7 @@ void main() {
3637
expect(result.maxHeight, 45.0);
3738
});
3839

39-
testWidgets('DecorationTween control test', (WidgetTester tester) async {
40+
testWidgetsWithLeakTracking('DecorationTween control test', (WidgetTester tester) async {
4041
final DecorationTween tween = DecorationTween(
4142
begin: const BoxDecoration(color: Color(0xFF00FF00)),
4243
end: const BoxDecoration(color: Color(0xFFFFFF00)),
@@ -45,7 +46,7 @@ void main() {
4546
expect(result.color, const Color(0xFF3FFF00));
4647
});
4748

48-
testWidgets('EdgeInsetsTween control test', (WidgetTester tester) async {
49+
testWidgetsWithLeakTracking('EdgeInsetsTween control test', (WidgetTester tester) async {
4950
final EdgeInsetsTween tween = EdgeInsetsTween(
5051
begin: const EdgeInsets.symmetric(vertical: 50.0),
5152
end: const EdgeInsets.only(top: 10.0, bottom: 30.0),
@@ -57,7 +58,7 @@ void main() {
5758
expect(result.bottom, 45.0);
5859
});
5960

60-
testWidgets('Matrix4Tween control test', (WidgetTester tester) async {
61+
testWidgetsWithLeakTracking('Matrix4Tween control test', (WidgetTester tester) async {
6162
final Matrix4Tween tween = Matrix4Tween(
6263
begin: Matrix4.translationValues(10.0, 20.0, 30.0),
6364
end: Matrix4.translationValues(14.0, 24.0, 34.0),
@@ -66,7 +67,7 @@ void main() {
6667
expect(result, equals(Matrix4.translationValues(11.0, 21.0, 31.0)));
6768
});
6869

69-
testWidgets('AnimatedContainer onEnd callback test', (WidgetTester tester) async {
70+
testWidgetsWithLeakTracking('AnimatedContainer onEnd callback test', (WidgetTester tester) async {
7071
await tester.pumpWidget(wrap(
7172
child: TestAnimatedWidget(
7273
callback: mockOnEndFunction.handler,
@@ -89,7 +90,7 @@ void main() {
8990
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
9091
});
9192

92-
testWidgets('AnimatedPadding onEnd callback test', (WidgetTester tester) async {
93+
testWidgetsWithLeakTracking('AnimatedPadding onEnd callback test', (WidgetTester tester) async {
9394
await tester.pumpWidget(wrap(
9495
child: TestAnimatedWidget(
9596
callback: mockOnEndFunction.handler,
@@ -112,7 +113,7 @@ void main() {
112113
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
113114
});
114115

115-
testWidgets('AnimatedAlign onEnd callback test', (WidgetTester tester) async {
116+
testWidgetsWithLeakTracking('AnimatedAlign onEnd callback test', (WidgetTester tester) async {
116117
await tester.pumpWidget(wrap(
117118
child: TestAnimatedWidget(
118119
callback: mockOnEndFunction.handler,
@@ -135,7 +136,7 @@ void main() {
135136
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
136137
});
137138

138-
testWidgets('AnimatedPositioned onEnd callback test', (WidgetTester tester) async {
139+
testWidgetsWithLeakTracking('AnimatedPositioned onEnd callback test', (WidgetTester tester) async {
139140
await tester.pumpWidget(wrap(
140141
child: TestAnimatedWidget(
141142
callback: mockOnEndFunction.handler,
@@ -158,7 +159,7 @@ void main() {
158159
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
159160
});
160161

161-
testWidgets('AnimatedPositionedDirectional onEnd callback test', (WidgetTester tester) async {
162+
testWidgetsWithLeakTracking('AnimatedPositionedDirectional onEnd callback test', (WidgetTester tester) async {
162163
await tester.pumpWidget(wrap(
163164
child: TestAnimatedWidget(
164165
callback: mockOnEndFunction.handler,
@@ -181,7 +182,7 @@ void main() {
181182
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
182183
});
183184

184-
testWidgets('AnimatedSlide onEnd callback test', (WidgetTester tester) async {
185+
testWidgetsWithLeakTracking('AnimatedSlide onEnd callback test', (WidgetTester tester) async {
185186
await tester.pumpWidget(wrap(
186187
child: TestAnimatedWidget(
187188
callback: mockOnEndFunction.handler,
@@ -203,7 +204,7 @@ void main() {
203204
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
204205
});
205206

206-
testWidgets('AnimatedSlide transition test', (WidgetTester tester) async {
207+
testWidgetsWithLeakTracking('AnimatedSlide transition test', (WidgetTester tester) async {
207208
await tester.pumpWidget(wrap(
208209
child: TestAnimatedWidget(
209210
switchKey: switchKey,
@@ -241,7 +242,7 @@ void main() {
241242
expect(state.builds, equals(2));
242243
});
243244

244-
testWidgets('AnimatedScale onEnd callback test', (WidgetTester tester) async {
245+
testWidgetsWithLeakTracking('AnimatedScale onEnd callback test', (WidgetTester tester) async {
245246
await tester.pumpWidget(wrap(
246247
child: TestAnimatedWidget(
247248
callback: mockOnEndFunction.handler,
@@ -263,7 +264,7 @@ void main() {
263264
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
264265
});
265266

266-
testWidgets('AnimatedScale transition test', (WidgetTester tester) async {
267+
testWidgetsWithLeakTracking('AnimatedScale transition test', (WidgetTester tester) async {
267268
await tester.pumpWidget(wrap(
268269
child: TestAnimatedWidget(
269270
switchKey: switchKey,
@@ -301,7 +302,7 @@ void main() {
301302
expect(state.builds, equals(2));
302303
});
303304

304-
testWidgets('AnimatedRotation onEnd callback test', (WidgetTester tester) async {
305+
testWidgetsWithLeakTracking('AnimatedRotation onEnd callback test', (WidgetTester tester) async {
305306
await tester.pumpWidget(wrap(
306307
child: TestAnimatedWidget(
307308
callback: mockOnEndFunction.handler,
@@ -323,7 +324,7 @@ void main() {
323324
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
324325
});
325326

326-
testWidgets('AnimatedRotation transition test', (WidgetTester tester) async {
327+
testWidgetsWithLeakTracking('AnimatedRotation transition test', (WidgetTester tester) async {
327328
await tester.pumpWidget(wrap(
328329
child: TestAnimatedWidget(
329330
switchKey: switchKey,
@@ -361,7 +362,7 @@ void main() {
361362
expect(state.builds, equals(2));
362363
});
363364

364-
testWidgets('AnimatedOpacity onEnd callback test', (WidgetTester tester) async {
365+
testWidgetsWithLeakTracking('AnimatedOpacity onEnd callback test', (WidgetTester tester) async {
365366
await tester.pumpWidget(wrap(
366367
child: TestAnimatedWidget(
367368
callback: mockOnEndFunction.handler,
@@ -383,7 +384,7 @@ void main() {
383384
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
384385
});
385386

386-
testWidgets('AnimatedOpacity transition test', (WidgetTester tester) async {
387+
testWidgetsWithLeakTracking('AnimatedOpacity transition test', (WidgetTester tester) async {
387388
await tester.pumpWidget(wrap(
388389
child: TestAnimatedWidget(
389390
switchKey: switchKey,
@@ -421,7 +422,7 @@ void main() {
421422
expect(state.builds, equals(2));
422423
});
423424

424-
testWidgets('AnimatedFractionallySizedBox onEnd callback test', (WidgetTester tester) async {
425+
testWidgetsWithLeakTracking('AnimatedFractionallySizedBox onEnd callback test', (WidgetTester tester) async {
425426
await tester.pumpWidget(wrap(
426427
child: TestAnimatedWidget(
427428
callback: mockOnEndFunction.handler,
@@ -443,7 +444,7 @@ void main() {
443444
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
444445
});
445446

446-
testWidgets('SliverAnimatedOpacity onEnd callback test', (WidgetTester tester) async {
447+
testWidgetsWithLeakTracking('SliverAnimatedOpacity onEnd callback test', (WidgetTester tester) async {
447448
await tester.pumpWidget(TestAnimatedWidget(
448449
callback: mockOnEndFunction.handler,
449450
switchKey: switchKey,
@@ -464,7 +465,7 @@ void main() {
464465
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
465466
});
466467

467-
testWidgets('SliverAnimatedOpacity transition test', (WidgetTester tester) async {
468+
testWidgetsWithLeakTracking('SliverAnimatedOpacity transition test', (WidgetTester tester) async {
468469
await tester.pumpWidget(wrap(
469470
child: TestAnimatedWidget(
470471
switchKey: switchKey,
@@ -502,7 +503,7 @@ void main() {
502503
expect(state.builds, equals(2));
503504
});
504505

505-
testWidgets('AnimatedDefaultTextStyle onEnd callback test', (WidgetTester tester) async {
506+
testWidgetsWithLeakTracking('AnimatedDefaultTextStyle onEnd callback test', (WidgetTester tester) async {
506507
await tester.pumpWidget(wrap(
507508
child: TestAnimatedWidget(
508509
callback: mockOnEndFunction.handler,
@@ -525,7 +526,7 @@ void main() {
525526
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
526527
});
527528

528-
testWidgets('AnimatedPhysicalModel onEnd callback test', (WidgetTester tester) async {
529+
testWidgetsWithLeakTracking('AnimatedPhysicalModel onEnd callback test', (WidgetTester tester) async {
529530
await tester.pumpWidget(wrap(
530531
child: TestAnimatedWidget(
531532
callback: mockOnEndFunction.handler,
@@ -548,7 +549,7 @@ void main() {
548549
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
549550
});
550551

551-
testWidgets('TweenAnimationBuilder onEnd callback test', (WidgetTester tester) async {
552+
testWidgetsWithLeakTracking('TweenAnimationBuilder onEnd callback test', (WidgetTester tester) async {
552553
await tester.pumpWidget(wrap(
553554
child: TestAnimatedWidget(
554555
callback: mockOnEndFunction.handler,
@@ -571,7 +572,7 @@ void main() {
571572
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
572573
});
573574

574-
testWidgets('AnimatedTheme onEnd callback test', (WidgetTester tester) async {
575+
testWidgetsWithLeakTracking('AnimatedTheme onEnd callback test', (WidgetTester tester) async {
575576
await tester.pumpWidget(wrap(
576577
child: TestAnimatedWidget(
577578
callback: mockOnEndFunction.handler,
@@ -594,11 +595,12 @@ void main() {
594595
await tapTest2and3(tester, widgetFinder, mockOnEndFunction);
595596
});
596597

597-
testWidgets('Ensure CurvedAnimations are disposed on widget change',
598+
testWidgetsWithLeakTracking('Ensure CurvedAnimations are disposed on widget change',
598599
(WidgetTester tester) async {
599600
final GlobalKey<ImplicitlyAnimatedWidgetState<AnimatedOpacity>> key =
600601
GlobalKey<ImplicitlyAnimatedWidgetState<AnimatedOpacity>>();
601602
final ValueNotifier<Curve> curve = ValueNotifier<Curve>(const Interval(0.0, 0.5));
603+
addTearDown(curve.dispose);
602604
await tester.pumpWidget(wrap(
603605
child: ValueListenableBuilder<Curve>(
604606
valueListenable: curve,

packages/flutter/test/widgets/implicit_semantics_test.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
import 'package:flutter/material.dart';
66
import 'package:flutter/widgets.dart';
77
import 'package:flutter_test/flutter_test.dart';
8+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
89

910
import 'semantics_tester.dart';
1011

1112
void main() {
12-
testWidgets('Implicit Semantics merge behavior', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Implicit Semantics merge behavior', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
await tester.pumpWidget(
@@ -172,7 +173,7 @@ void main() {
172173
semantics.dispose();
173174
});
174175

175-
testWidgets('Do not merge with conflicts', (WidgetTester tester) async {
176+
testWidgetsWithLeakTracking('Do not merge with conflicts', (WidgetTester tester) async {
176177
final SemanticsTester semantics = SemanticsTester(tester);
177178

178179
await tester.pumpWidget(

packages/flutter/test/widgets/inherited_dependencies_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
import 'package:flutter/src/widgets/basic.dart';
66
import 'package:flutter/src/widgets/framework.dart';
77
import 'package:flutter_test/flutter_test.dart';
8+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
89

910
void main() {
10-
testWidgets('InheritedWidget dependencies show up in diagnostic properties', (WidgetTester tester) async {
11+
testWidgetsWithLeakTracking('InheritedWidget dependencies show up in diagnostic properties', (WidgetTester tester) async {
1112
final GlobalKey key = GlobalKey();
1213
await tester.pumpWidget(Directionality(
1314
key: key,

packages/flutter/test/widgets/inherited_model_test.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'package:flutter/foundation.dart';
66
import 'package:flutter/material.dart';
77
import 'package:flutter_test/flutter_test.dart';
8+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
89

910
// A simple "flat" InheritedModel: the data model is just 3 integer
1011
// valued fields: a, b, c.
@@ -73,7 +74,7 @@ class _ShowABCFieldState extends State<ShowABCField> {
7374
}
7475

7576
void main() {
76-
testWidgets('InheritedModel basics', (WidgetTester tester) async {
77+
testWidgetsWithLeakTracking('InheritedModel basics', (WidgetTester tester) async {
7778
int a = 0;
7879
int b = 1;
7980
int c = 2;
@@ -189,7 +190,7 @@ void main() {
189190
expect(find.text('a: 2 b: 2 c: 3'), findsOneWidget);
190191
});
191192

192-
testWidgets('Looking up an non existent InheritedModel ancestor returns null', (WidgetTester tester) async {
193+
testWidgetsWithLeakTracking('Looking up an non existent InheritedModel ancestor returns null', (WidgetTester tester) async {
193194
ABCModel? inheritedModel;
194195

195196
await tester.pumpWidget(
@@ -205,7 +206,7 @@ void main() {
205206
expect(inheritedModel, null);
206207
});
207208

208-
testWidgets('Inner InheritedModel shadows the outer one', (WidgetTester tester) async {
209+
testWidgetsWithLeakTracking('Inner InheritedModel shadows the outer one', (WidgetTester tester) async {
209210
int a = 0;
210211
int b = 1;
211212
int c = 2;
@@ -323,7 +324,7 @@ void main() {
323324
expect(find.text('a: 102 b: 102 c: null'), findsOneWidget);
324325
});
325326

326-
testWidgets('InheritedModel inner models supported aspect change', (WidgetTester tester) async {
327+
testWidgetsWithLeakTracking('InheritedModel inner models supported aspect change', (WidgetTester tester) async {
327328
int a = 0;
328329
int b = 1;
329330
int c = 2;

0 commit comments

Comments
 (0)