@@ -7,6 +7,7 @@ import 'dart:convert';
77import 'package:flutter/material.dart' ;
88import 'package:flutter_test/flutter_test.dart' ;
99import 'package:go_router/go_router.dart' ;
10+ import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart' ;
1011
1112import '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
8492class ComplexData {
0 commit comments