Skip to content

Commit bfdcb51

Browse files
authored
Clean leaky tests. (#150335)
1 parent 64dd1ca commit bfdcb51

4 files changed

Lines changed: 9 additions & 23 deletions

File tree

packages/flutter/test/cupertino/material/tab_scaffold_test.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,12 @@ import 'dart:typed_data';
77
import 'package:flutter/cupertino.dart';
88
import 'package:flutter/material.dart';
99
import 'package:flutter_test/flutter_test.dart';
10-
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
1110

1211
import '../../image_data.dart';
1312

1413
late List<int> selectedTabs;
1514

1615
void main() {
17-
// TODO(polina-c): dispose ImageStreamCompleterHandle, https://github.com/flutter/flutter/issues/145599 [leaks-to-clean]
18-
LeakTesting.settings = LeakTesting.settings.withIgnoredAll();
19-
2016
setUp(() {
2117
selectedTabs = <int>[];
2218
});
@@ -328,6 +324,7 @@ void main() {
328324

329325
expect(contents.length, greaterThan(0));
330326
expect(contents, isNot(contains(predicate((RichText t) => t.textScaler != const TextScaler.linear(99.0)))));
327+
imageCache.clear();
331328
});
332329
}
333330

packages/flutter/test/material/circle_avatar_test.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import 'dart:typed_data';
1212
import 'package:flutter/material.dart';
1313
import 'package:flutter/rendering.dart';
1414
import 'package:flutter_test/flutter_test.dart';
15-
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
1615
import '../image_data.dart';
1716
import '../painting/mocks_for_image_cache.dart';
1817

@@ -95,10 +94,8 @@ void main() {
9594
expect(decoration.image!.fit, equals(BoxFit.cover));
9695
});
9796

98-
testWidgets('CircleAvatar backgroundImage is used as a fallback for foregroundImage',
99-
// TODO(polina-c): make sure images are disposed, https://github.com/flutter/flutter/issues/141388 [leaks-to-clean]
100-
experimentalLeakTesting: LeakTesting.settings.withIgnoredAll(),
101-
(WidgetTester tester) async {
97+
testWidgets('CircleAvatar backgroundImage is used as a fallback for foregroundImage', (WidgetTester tester) async {
98+
addTearDown(imageCache.clear);
10299
final ErrorImageProvider errorImage = ErrorImageProvider();
103100
bool caughtForegroundImageError = false;
104101
await tester.pumpWidget(

packages/flutter/test/widgets/obscured_animated_image_test.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'dart:ui' as ui show Image;
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';
1211

1312
import '../image_data.dart';
1413
import '../painting/fake_codec.dart';
@@ -18,10 +17,7 @@ Future<void> main() async {
1817
final FakeCodec fakeCodec = await FakeCodec.fromData(Uint8List.fromList(kAnimatedGif));
1918
final FakeImageProvider fakeImageProvider = FakeImageProvider(fakeCodec);
2019

21-
testWidgets('Obscured image does not animate',
22-
// TODO(polina-c): dispose ImageStreamCompleterHandle, https://github.com/flutter/flutter/issues/145599 [leaks-to-clean]
23-
experimentalLeakTesting: LeakTesting.settings.withIgnoredAll(),
24-
(WidgetTester tester) async {
20+
testWidgets('Obscured image does not animate', (WidgetTester tester) async {
2521
final GlobalKey imageKey = GlobalKey();
2622
await tester.pumpWidget(
2723
MaterialApp(
@@ -47,5 +43,6 @@ Future<void> main() async {
4743
await tester.pump(const Duration(milliseconds: 100));
4844
final ui.Image? image4 = renderImage.image;
4945
expect(image3, same(image4));
46+
imageCache.clear();
5047
});
5148
}

packages/flutter/test/widgets/shape_decoration_test.dart

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import 'dart:ui' as ui show Image;
77

88
import 'package:flutter/material.dart';
99
import 'package:flutter_test/flutter_test.dart';
10-
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
1110

1211
import '../image_data.dart';
1312
import '../painting/mocks_for_image_cache.dart';
@@ -18,10 +17,8 @@ Future<void> main() async {
1817
final ui.Image rawImage = await decodeImageFromList(Uint8List.fromList(kTransparentImage));
1918
final ImageProvider image = TestImageProvider(0, 0, image: rawImage);
2019

21-
testWidgets('ShapeDecoration.image',
22-
// TODO(polina-c): dispose ImageStreamCompleterHandle, https://github.com/flutter/flutter/issues/145599 [leaks-to-clean]
23-
experimentalLeakTesting: LeakTesting.settings.withIgnoredAll(),
24-
(WidgetTester tester) async {
20+
testWidgets('ShapeDecoration.image', (WidgetTester tester) async {
21+
addTearDown(imageCache.clear);
2522
await tester.pumpWidget(
2623
MaterialApp(
2724
home: DecoratedBox(
@@ -94,10 +91,8 @@ Future<void> main() async {
9491
);
9592
});
9693

97-
testWidgets('TestBorder and Directionality - 2',
98-
// TODO(polina-c): dispose ImageStreamCompleterHandle, https://github.com/flutter/flutter/issues/145599 [leaks-to-clean]
99-
experimentalLeakTesting: LeakTesting.settings.withIgnoredAll(),
100-
(WidgetTester tester) async {
94+
testWidgets('TestBorder and Directionality - 2', (WidgetTester tester) async {
95+
addTearDown(imageCache.clear);
10196
final List<String> log = <String>[];
10297
await tester.pumpWidget(
10398
Directionality(

0 commit comments

Comments
 (0)