Skip to content

Commit c3db020

Browse files
authored
Cover more test/widgets tests with leak tracking #9 (flutter#135054)
1 parent d0004c9 commit c3db020

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+366
-230
lines changed

packages/flutter/test/widgets/selection_container_test.dart

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'package:flutter/material.dart';
66
import 'package:flutter/rendering.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() {
1011

@@ -20,9 +21,11 @@ void main() {
2021
);
2122
}
2223

23-
testWidgets('updates its registrar and delegate based on the number of selectables', (WidgetTester tester) async {
24+
testWidgetsWithLeakTracking('updates its registrar and delegate based on the number of selectables', (WidgetTester tester) async {
2425
final TestSelectionRegistrar registrar = TestSelectionRegistrar();
2526
final TestContainerDelegate delegate = TestContainerDelegate();
27+
addTearDown(delegate.dispose);
28+
2629
await pumpContainer(
2730
tester,
2831
SelectionContainer(
@@ -42,9 +45,11 @@ void main() {
4245
expect(delegate.selectables.length, 3);
4346
});
4447

45-
testWidgets('disabled container', (WidgetTester tester) async {
48+
testWidgetsWithLeakTracking('disabled container', (WidgetTester tester) async {
4649
final TestSelectionRegistrar registrar = TestSelectionRegistrar();
4750
final TestContainerDelegate delegate = TestContainerDelegate();
51+
addTearDown(delegate.dispose);
52+
4853
await pumpContainer(
4954
tester,
5055
SelectionContainer(
@@ -65,10 +70,13 @@ void main() {
6570
expect(delegate.selectables.length, 0);
6671
});
6772

68-
testWidgets('Swapping out container delegate does not crash', (WidgetTester tester) async {
73+
testWidgetsWithLeakTracking('Swapping out container delegate does not crash', (WidgetTester tester) async {
6974
final TestSelectionRegistrar registrar = TestSelectionRegistrar();
7075
final TestContainerDelegate delegate = TestContainerDelegate();
76+
addTearDown(delegate.dispose);
7177
final TestContainerDelegate childDelegate = TestContainerDelegate();
78+
addTearDown(childDelegate.dispose);
79+
7280
await pumpContainer(
7381
tester,
7482
SelectionContainer(
@@ -90,6 +98,8 @@ void main() {
9098
expect(delegate.value.hasContent, isTrue);
9199

92100
final TestContainerDelegate newDelegate = TestContainerDelegate();
101+
addTearDown(newDelegate.dispose);
102+
93103
await pumpContainer(
94104
tester,
95105
SelectionContainer(
@@ -112,10 +122,13 @@ void main() {
112122
expect(tester.takeException(), isNull);
113123
});
114124

115-
testWidgets('Can update within one frame', (WidgetTester tester) async {
125+
testWidgetsWithLeakTracking('Can update within one frame', (WidgetTester tester) async {
116126
final TestSelectionRegistrar registrar = TestSelectionRegistrar();
117127
final TestContainerDelegate delegate = TestContainerDelegate();
128+
addTearDown(delegate.dispose);
118129
final TestContainerDelegate childDelegate = TestContainerDelegate();
130+
addTearDown(childDelegate.dispose);
131+
119132
await pumpContainer(
120133
tester,
121134
SelectionContainer(
@@ -139,9 +152,11 @@ void main() {
139152
expect(delegate.value.hasContent, isTrue);
140153
});
141154

142-
testWidgets('selection container registers itself if there is a selectable child', (WidgetTester tester) async {
155+
testWidgetsWithLeakTracking('selection container registers itself if there is a selectable child', (WidgetTester tester) async {
143156
final TestSelectionRegistrar registrar = TestSelectionRegistrar();
144157
final TestContainerDelegate delegate = TestContainerDelegate();
158+
addTearDown(delegate.dispose);
159+
145160
await pumpContainer(
146161
tester,
147162
SelectionContainer(
@@ -181,9 +196,10 @@ void main() {
181196
expect(registrar.selectables.length, 0);
182197
});
183198

184-
testWidgets('selection container gets registrar from context if not provided', (WidgetTester tester) async {
199+
testWidgetsWithLeakTracking('selection container gets registrar from context if not provided', (WidgetTester tester) async {
185200
final TestSelectionRegistrar registrar = TestSelectionRegistrar();
186201
final TestContainerDelegate delegate = TestContainerDelegate();
202+
addTearDown(delegate.dispose);
187203

188204
await pumpContainer(
189205
tester,

packages/flutter/test/widgets/semantics_10_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import 'package:flutter/material.dart';
66
import 'package:flutter/rendering.dart';
77
import 'package:flutter/widgets.dart';
88
import 'package:flutter_test/flutter_test.dart';
9+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
910

1011
import 'semantics_tester.dart';
1112

1213
void main() {
13-
testWidgets('can cease to be semantics boundary after markNeedsSemanticsUpdate() has already been called once', (WidgetTester tester) async {
14+
testWidgetsWithLeakTracking('can cease to be semantics boundary after markNeedsSemanticsUpdate() has already been called once', (WidgetTester tester) async {
1415
final SemanticsTester semantics = SemanticsTester(tester);
1516

1617
await tester.pumpWidget(

packages/flutter/test/widgets/semantics_11_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import 'package:flutter/material.dart';
66
import 'package:flutter/rendering.dart';
77
import 'package:flutter/widgets.dart';
88
import 'package:flutter_test/flutter_test.dart';
9+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
910

1011
import 'semantics_tester.dart';
1112

1213
void main() {
13-
testWidgets('markNeedsSemanticsUpdate() called on non-boundary with non-boundary parent', (WidgetTester tester) async {
14+
testWidgetsWithLeakTracking('markNeedsSemanticsUpdate() called on non-boundary with non-boundary parent', (WidgetTester tester) async {
1415
final SemanticsTester semantics = SemanticsTester(tester);
1516

1617
await tester.pumpWidget(

packages/flutter/test/widgets/semantics_1_test.dart

Lines changed: 2 additions & 1 deletion
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('Semantics 1', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Semantics 1', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
// smoketest

packages/flutter/test/widgets/semantics_2_test.dart

Lines changed: 2 additions & 1 deletion
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('Semantics 2', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Semantics 2', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
// this test is the same as the test in Semantics 1, but

packages/flutter/test/widgets/semantics_3_test.dart

Lines changed: 2 additions & 1 deletion
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('Semantics 3', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Semantics 3', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
// implicit annotators

packages/flutter/test/widgets/semantics_4_test.dart

Lines changed: 2 additions & 1 deletion
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('Semantics 4', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Semantics 4', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
// O

packages/flutter/test/widgets/semantics_5_test.dart

Lines changed: 2 additions & 1 deletion
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('Semantics 5', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Semantics 5', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
await tester.pumpWidget(

packages/flutter/test/widgets/semantics_6_test.dart

Lines changed: 2 additions & 1 deletion
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('can change semantics in a branch blocked by BlockSemantics', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('can change semantics in a branch blocked by BlockSemantics', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
final TestSemantics expectedSemantics = TestSemantics.root(

packages/flutter/test/widgets/semantics_7_test.dart

Lines changed: 2 additions & 1 deletion
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('Semantics 7 - Merging', (WidgetTester tester) async {
13+
testWidgetsWithLeakTracking('Semantics 7 - Merging', (WidgetTester tester) async {
1314
final SemanticsTester semantics = SemanticsTester(tester);
1415

1516
String label;

0 commit comments

Comments
 (0)