Skip to content

Commit 4204f07

Browse files
authored
Add RestorationManager disposals in test/services/restoration_test.dart. (#135218)
1 parent 7771884 commit 4204f07

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

packages/flutter/test/services/restoration_test.dart

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ void main() {
3030
});
3131

3232
final RestorationManager manager = RestorationManager();
33+
addTearDown(manager.dispose);
3334
final Future<RestorationBucket?> rootBucketFuture = manager.rootBucket;
3435
RestorationBucket? rootBucket;
3536
rootBucketFuture.then((RestorationBucket? bucket) {
@@ -65,20 +66,17 @@ void main() {
6566
});
6667
expect(synchronousBucket, isNotNull);
6768
expect(synchronousBucket, same(rootBucket));
68-
},
69-
// TODO(NobodyForNothing): Remove after fixing and cover remaining file
70-
// with leak tests https://github.com/flutter/flutter/issues/134831
71-
leakTrackingTestConfig: const LeakTrackingTestConfig(notDisposedAllowList:
72-
<String, int?>{'RestorationManager': 1}));
69+
});
7370

74-
testWidgets('root bucket received from engine before retrieval', (WidgetTester tester) async {
71+
testWidgetsWithLeakTracking('root bucket received from engine before retrieval', (WidgetTester tester) async {
7572
SystemChannels.restoration.setMethodCallHandler(null);
7673
final List<MethodCall> callsToEngine = <MethodCall>[];
7774
tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.restoration, (MethodCall call) async {
7875
callsToEngine.add(call);
7976
return null;
8077
});
8178
final RestorationManager manager = RestorationManager();
79+
addTearDown(manager.dispose);
8280

8381
await _pushDataFromEngine(_createEncodedRestorationData1());
8482

@@ -90,7 +88,7 @@ void main() {
9088
expect(callsToEngine, isEmpty);
9189
});
9290

93-
testWidgets('root bucket received while engine retrieval is pending', (WidgetTester tester) async {
91+
testWidgetsWithLeakTracking('root bucket received while engine retrieval is pending', (WidgetTester tester) async {
9492
SystemChannels.restoration.setMethodCallHandler(null);
9593
final List<MethodCall> callsToEngine = <MethodCall>[];
9694
final Completer<Map<dynamic, dynamic>> result = Completer<Map<dynamic, dynamic>>();
@@ -99,6 +97,7 @@ void main() {
9997
return result.future;
10098
});
10199
final RestorationManager manager = RestorationManager();
100+
addTearDown(manager.dispose);
102101

103102
RestorationBucket? rootBucket;
104103
manager.rootBucket.then((RestorationBucket? bucket) => rootBucket = bucket);
@@ -120,11 +119,12 @@ void main() {
120119
expect(rootBucket2!.contains('foo'), isFalse);
121120
});
122121

123-
testWidgets('root bucket is properly replaced when new data is available', (WidgetTester tester) async {
122+
testWidgetsWithLeakTracking('root bucket is properly replaced when new data is available', (WidgetTester tester) async {
124123
tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.restoration, (MethodCall call) async {
125124
return _createEncodedRestorationData1();
126125
});
127126
final RestorationManager manager = RestorationManager();
127+
addTearDown(manager.dispose);
128128
RestorationBucket? rootBucket;
129129
manager.rootBucket.then((RestorationBucket? bucket) {
130130
rootBucket = bucket;
@@ -160,7 +160,7 @@ void main() {
160160
expect(newChild.read<String>('bar'), 'Hello');
161161
});
162162

163-
testWidgets('returns null as root bucket when restoration is disabled', (WidgetTester tester) async {
163+
testWidgetsWithLeakTracking('returns null as root bucket when restoration is disabled', (WidgetTester tester) async {
164164
final List<MethodCall> callsToEngine = <MethodCall>[];
165165
final Completer<Map<dynamic, dynamic>> result = Completer<Map<dynamic, dynamic>>();
166166
tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.restoration, (MethodCall call) {
@@ -171,6 +171,7 @@ void main() {
171171
final RestorationManager manager = RestorationManager()..addListener(() {
172172
listenerCount++;
173173
});
174+
addTearDown(manager.dispose);
174175
RestorationBucket? rootBucket;
175176
bool rootBucketResolved = false;
176177
manager.rootBucket.then((RestorationBucket? bucket) {
@@ -203,7 +204,7 @@ void main() {
203204
expect(rootBucket, isNull);
204205
});
205206

206-
testWidgets('flushData', (WidgetTester tester) async {
207+
testWidgetsWithLeakTracking('flushData', (WidgetTester tester) async {
207208
final List<MethodCall> callsToEngine = <MethodCall>[];
208209
final Completer<Map<dynamic, dynamic>> result = Completer<Map<dynamic, dynamic>>();
209210
tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.restoration, (MethodCall call) {
@@ -212,6 +213,7 @@ void main() {
212213
});
213214

214215
final RestorationManager manager = RestorationManager();
216+
addTearDown(manager.dispose);
215217
final Future<RestorationBucket?> rootBucketFuture = manager.rootBucket;
216218
RestorationBucket? rootBucket;
217219
rootBucketFuture.then((RestorationBucket? bucket) {
@@ -239,13 +241,14 @@ void main() {
239241
expect(callsToEngine, hasLength(1));
240242
});
241243

242-
testWidgets('isReplacing', (WidgetTester tester) async {
244+
testWidgetsWithLeakTracking('isReplacing', (WidgetTester tester) async {
243245
final Completer<Map<dynamic, dynamic>> result = Completer<Map<dynamic, dynamic>>();
244246
tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.restoration, (MethodCall call) {
245247
return result.future;
246248
});
247249

248250
final TestRestorationManager manager = TestRestorationManager();
251+
addTearDown(manager.dispose);
249252
expect(manager.isReplacing, isFalse);
250253

251254
RestorationBucket? rootBucket;

0 commit comments

Comments
 (0)