Skip to content

Commit 7d0c9b7

Browse files
authored
Cover more test/widgets tests with leak tracking (#134387)
1 parent 083ac65 commit 7d0c9b7

15 files changed

+1209
-1070
lines changed

packages/flutter/test/widgets/app_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ void main() {
306306
expect(find.text('popped'), findsOneWidget);
307307
},
308308
leakTrackingTestConfig: const LeakTrackingTestConfig(
309-
// TODO(someone): remove after fixing
309+
// TODO(ksokolovskyi): remove after fixing
310310
// https://github.com/flutter/flutter/issues/134205
311311
notDisposedAllowList: <String, int?> {'_RestorableRouteInformation': 1},
312312
));
@@ -338,7 +338,7 @@ void main() {
338338
expect(find.text('popped'), findsOneWidget);
339339
},
340340
leakTrackingTestConfig: const LeakTrackingTestConfig(
341-
// TODO(someone): remove after fixing
341+
// TODO(ksokolovskyi): remove after fixing
342342
// https://github.com/flutter/flutter/issues/134205
343343
notDisposedAllowList: <String, int?> {'_RestorableRouteInformation': 1},
344344
));
@@ -434,7 +434,7 @@ void main() {
434434
expect(find.text('popped'), findsOneWidget);
435435
},
436436
leakTrackingTestConfig: const LeakTrackingTestConfig(
437-
// TODO(someone): remove after fixing
437+
// TODO(ksokolovskyi): remove after fixing
438438
// https://github.com/flutter/flutter/issues/134205
439439
notDisposedAllowList: <String, int?> {'_RestorableRouteInformation': 1},
440440
));
@@ -455,7 +455,7 @@ void main() {
455455
expect(find.text('/'), findsOneWidget);
456456
},
457457
leakTrackingTestConfig: const LeakTrackingTestConfig(
458-
// TODO(someone): remove after fixing
458+
// TODO(ksokolovskyi): remove after fixing
459459
// https://github.com/flutter/flutter/issues/134205
460460
notDisposedAllowList: <String, int?> {'_RestorableRouteInformation': 1},
461461
));

packages/flutter/test/widgets/draggable_test.dart

Lines changed: 68 additions & 64 deletions
Large diffs are not rendered by default.

packages/flutter/test/widgets/drawer_test.dart

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ import 'package:flutter/gestures.dart' show DragStartBehavior;
88
import 'package:flutter/material.dart';
99
import 'package:flutter/rendering.dart';
1010
import 'package:flutter_test/flutter_test.dart';
11+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
1112

1213
import 'semantics_tester.dart';
1314

1415
void main() {
1516

16-
testWidgets('Drawer control test', (WidgetTester tester) async {
17+
testWidgetsWithLeakTracking('Drawer control test', (WidgetTester tester) async {
1718
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
1819
late BuildContext savedContext;
1920
await tester.pumpWidget(
@@ -44,7 +45,7 @@ void main() {
4445
expect(find.text('drawer'), findsNothing);
4546
});
4647

47-
testWidgets('Drawer tap test', (WidgetTester tester) async {
48+
testWidgetsWithLeakTracking('Drawer tap test', (WidgetTester tester) async {
4849
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
4950
await tester.pumpWidget(
5051
MaterialApp(
@@ -76,7 +77,7 @@ void main() {
7677
expect(find.text('drawer'), findsNothing);
7778
});
7879

79-
testWidgets('Drawer hover test', (WidgetTester tester) async {
80+
testWidgetsWithLeakTracking('Drawer hover test', (WidgetTester tester) async {
8081
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
8182
final List<String> logs = <String>[];
8283
final TestGesture gesture = await tester.createGesture(kind: PointerDeviceKind.mouse);
@@ -146,7 +147,7 @@ void main() {
146147
logs.clear();
147148
});
148149

149-
testWidgets('Drawer drag cancel resume (LTR)', (WidgetTester tester) async {
150+
testWidgetsWithLeakTracking('Drawer drag cancel resume (LTR)', (WidgetTester tester) async {
150151
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
151152
await tester.pumpWidget(
152153
MaterialApp(
@@ -197,7 +198,7 @@ void main() {
197198
await gesture.up();
198199
});
199200

200-
testWidgets('Drawer drag cancel resume (RTL)', (WidgetTester tester) async {
201+
testWidgetsWithLeakTracking('Drawer drag cancel resume (RTL)', (WidgetTester tester) async {
201202
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
202203
await tester.pumpWidget(
203204
MaterialApp(
@@ -251,7 +252,7 @@ void main() {
251252
await gesture.up();
252253
});
253254

254-
testWidgets('Drawer navigator back button', (WidgetTester tester) async {
255+
testWidgetsWithLeakTracking('Drawer navigator back button', (WidgetTester tester) async {
255256
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
256257
bool buttonPressed = false;
257258

@@ -299,7 +300,7 @@ void main() {
299300
expect(buttonPressed, equals(true));
300301
});
301302

302-
testWidgets('Dismissible ModalBarrier includes button in semantic tree', (WidgetTester tester) async {
303+
testWidgetsWithLeakTracking('Dismissible ModalBarrier includes button in semantic tree', (WidgetTester tester) async {
303304
final SemanticsTester semantics = SemanticsTester(tester);
304305
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
305306

@@ -326,7 +327,7 @@ void main() {
326327
semantics.dispose();
327328
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }));
328329

329-
testWidgets('Dismissible ModalBarrier is hidden on Android (back button is used to dismiss)', (WidgetTester tester) async {
330+
testWidgetsWithLeakTracking('Dismissible ModalBarrier is hidden on Android (back button is used to dismiss)', (WidgetTester tester) async {
330331
final SemanticsTester semantics = SemanticsTester(tester);
331332
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
332333

@@ -354,7 +355,7 @@ void main() {
354355
semantics.dispose();
355356
}, variant: TargetPlatformVariant.only(TargetPlatform.android));
356357

357-
testWidgets('Drawer contains route semantics flags', (WidgetTester tester) async {
358+
testWidgetsWithLeakTracking('Drawer contains route semantics flags', (WidgetTester tester) async {
358359
final SemanticsTester semantics = SemanticsTester(tester);
359360
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
360361

packages/flutter/test/widgets/dual_transition_builder_test.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
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
void main() {
9-
testWidgets('runs animations', (WidgetTester tester) async {
10+
testWidgetsWithLeakTracking('runs animations', (WidgetTester tester) async {
1011
final AnimationController controller = AnimationController(
1112
vsync: const TestVSync(),
1213
duration: const Duration(milliseconds: 300),
1314
);
15+
addTearDown(controller.dispose);
1416

1517
await tester.pumpWidget(Center(
1618
child: DualTransitionBuilder(
@@ -74,11 +76,12 @@ void main() {
7476
expect(_getOpacity(tester), 1.0);
7577
});
7678

77-
testWidgets('keeps state', (WidgetTester tester) async {
79+
testWidgetsWithLeakTracking('keeps state', (WidgetTester tester) async {
7880
final AnimationController controller = AnimationController(
7981
vsync: const TestVSync(),
8082
duration: const Duration(milliseconds: 300),
8183
);
84+
addTearDown(controller.dispose);
8285

8386
await tester.pumpWidget(Directionality(
8487
textDirection: TextDirection.ltr,
@@ -138,11 +141,13 @@ void main() {
138141
expect(state, same(tester.state(find.byType(_StatefulTestWidget))));
139142
});
140143

141-
testWidgets('does not jump when interrupted - forward', (WidgetTester tester) async {
144+
testWidgetsWithLeakTracking('does not jump when interrupted - forward', (WidgetTester tester) async {
142145
final AnimationController controller = AnimationController(
143146
vsync: const TestVSync(),
144147
duration: const Duration(milliseconds: 300),
145148
);
149+
addTearDown(controller.dispose);
150+
146151
await tester.pumpWidget(Center(
147152
child: DualTransitionBuilder(
148153
animation: controller,
@@ -202,12 +207,14 @@ void main() {
202207
expect(_getOpacity(tester), 1.0);
203208
});
204209

205-
testWidgets('does not jump when interrupted - reverse', (WidgetTester tester) async {
210+
testWidgetsWithLeakTracking('does not jump when interrupted - reverse', (WidgetTester tester) async {
206211
final AnimationController controller = AnimationController(
207212
value: 1.0,
208213
vsync: const TestVSync(),
209214
duration: const Duration(milliseconds: 300),
210215
);
216+
addTearDown(controller.dispose);
217+
211218
await tester.pumpWidget(Center(
212219
child: DualTransitionBuilder(
213220
animation: controller,

0 commit comments

Comments
 (0)