Skip to content

Commit fe8f0fe

Browse files
committed
Migrates test
1 parent 9ec29b6 commit fe8f0fe

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

packages/go_router/test/extra_codec_test.dart

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'dart:convert';
77
import 'package:flutter/material.dart';
88
import 'package:flutter_test/flutter_test.dart';
99
import 'package:go_router/go_router.dart';
10+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
1011

1112
import 'test_helpers.dart';
1213

@@ -52,33 +53,40 @@ void main() {
5253
expect(find.text(initialString), findsOneWidget);
5354
});
5455

55-
testWidgets('Restores state correctly', (WidgetTester tester) async {
56-
const String initialString = 'some string';
57-
const String empty = 'empty';
58-
final List<RouteBase> routes = <RouteBase>[
59-
GoRoute(
60-
path: '/',
61-
builder: (_, GoRouterState state) {
62-
return Text((state.extra as ComplexData?)?.data ?? empty);
63-
},
64-
),
65-
];
56+
testWidgets(
57+
'Restores state correctly',
58+
// TODO(Flop): Remove when minimum flutter version includes
59+
// https://github.com/flutter/flutter/pull/176519
60+
experimentalLeakTesting: LeakTesting.settings.withIgnored(
61+
classes: <String>['TestRestorationManager', 'RestorationBucket'],
62+
),
63+
(WidgetTester tester) async {
64+
const String initialString = 'some string';
65+
const String empty = 'empty';
66+
final List<RouteBase> routes = <RouteBase>[
67+
GoRoute(
68+
path: '/',
69+
builder: (_, GoRouterState state) {
70+
return Text((state.extra as ComplexData?)?.data ?? empty);
71+
},
72+
),
73+
];
6674

67-
await createRouter(
68-
routes,
69-
tester,
70-
initialExtra: ComplexData(initialString),
71-
restorationScopeId: 'test',
72-
extraCodec: ComplexDataCodec(),
73-
);
74-
expect(find.text(initialString), findsOneWidget);
75+
await createRouter(
76+
routes,
77+
tester,
78+
initialExtra: ComplexData(initialString),
79+
restorationScopeId: 'test',
80+
extraCodec: ComplexDataCodec(),
81+
);
82+
expect(find.text(initialString), findsOneWidget);
7583

76-
await tester.restartAndRestore();
77-
addTearDown(tester.binding.restorationManager.dispose);
84+
await tester.restartAndRestore();
7885

79-
await tester.pumpAndSettle();
80-
expect(find.text(initialString), findsOneWidget);
81-
});
86+
await tester.pumpAndSettle();
87+
expect(find.text(initialString), findsOneWidget);
88+
},
89+
);
8290
}
8391

8492
class ComplexData {

0 commit comments

Comments
 (0)