mirror of
https://github.com/flutter/packages.git
synced 2025-06-29 22:33:11 +08:00
[go_router] Use leak_tracker_flutter_testing
(#6210)
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
## NEXT
|
## 13.2.1
|
||||||
|
|
||||||
* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1.
|
- Updates minimum supported SDK version to Flutter 3.16/Dart 3.2.
|
||||||
|
- Fixes memory leaks.
|
||||||
|
|
||||||
## 13.2.0
|
## 13.2.0
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@ version: 3.0.1
|
|||||||
publish_to: none
|
publish_to: none
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.1.0
|
sdk: ^3.2.0
|
||||||
flutter: ">=3.13.0"
|
flutter: ">=3.16.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
adaptive_navigation: ^0.0.4
|
adaptive_navigation: ^0.0.4
|
||||||
|
@ -189,6 +189,13 @@ class _CustomNavigatorState extends State<_CustomNavigator> {
|
|||||||
_pages = null;
|
_pages = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_controller?.dispose();
|
||||||
|
_registry.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
void _updatePages(BuildContext context) {
|
void _updatePages(BuildContext context) {
|
||||||
assert(_pages == null);
|
assert(_pages == null);
|
||||||
final List<Page<Object?>> pages = <Page<Object?>>[];
|
final List<Page<Object?>> pages = <Page<Object?>>[];
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
name: go_router
|
name: go_router
|
||||||
description: A declarative router for Flutter based on Navigation 2 supporting
|
description: A declarative router for Flutter based on Navigation 2 supporting
|
||||||
deep linking, data-driven routes and more
|
deep linking, data-driven routes and more
|
||||||
version: 13.2.0
|
version: 13.2.1
|
||||||
repository: https://github.com/flutter/packages/tree/main/packages/go_router
|
repository: https://github.com/flutter/packages/tree/main/packages/go_router
|
||||||
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22
|
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=3.1.0 <4.0.0"
|
sdk: ">=3.2.0 <4.0.0"
|
||||||
flutter: ">=3.13.0"
|
flutter: ">=3.16.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
collection: ^1.15.0
|
collection: ^1.15.0
|
||||||
|
@ -371,6 +371,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: goRouter,
|
routerConfig: goRouter,
|
||||||
|
@ -22,6 +22,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -35,6 +36,7 @@ void main() {
|
|||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final ValueNotifier<bool> showHomeValueNotifier =
|
final ValueNotifier<bool> showHomeValueNotifier =
|
||||||
ValueNotifier<bool>(false);
|
ValueNotifier<bool>(false);
|
||||||
|
addTearDown(showHomeValueNotifier.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp(
|
MaterialApp(
|
||||||
home: ValueListenableBuilder<bool>(
|
home: ValueListenableBuilder<bool>(
|
||||||
@ -83,6 +85,7 @@ void main() {
|
|||||||
testWidgets('NoTransitionPage does not apply any reverse transition',
|
testWidgets('NoTransitionPage does not apply any reverse transition',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final ValueNotifier<bool> showHomeValueNotifier = ValueNotifier<bool>(true);
|
final ValueNotifier<bool> showHomeValueNotifier = ValueNotifier<bool>(true);
|
||||||
|
addTearDown(showHomeValueNotifier.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp(
|
MaterialApp(
|
||||||
home: ValueListenableBuilder<bool>(
|
home: ValueListenableBuilder<bool>(
|
||||||
@ -139,6 +142,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
||||||
expect(find.byKey(homeKey), findsOneWidget);
|
expect(find.byKey(homeKey), findsOneWidget);
|
||||||
router.push('/dismissible-modal');
|
router.push('/dismissible-modal');
|
||||||
@ -176,6 +180,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
||||||
expect(find.byKey(homeKey), findsOneWidget);
|
expect(find.byKey(homeKey), findsOneWidget);
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ import 'test_helpers.dart';
|
|||||||
Future<GoRouter> createGoRouter(
|
Future<GoRouter> createGoRouter(
|
||||||
WidgetTester tester, {
|
WidgetTester tester, {
|
||||||
Listenable? refreshListenable,
|
Listenable? refreshListenable,
|
||||||
|
bool dispose = true,
|
||||||
}) async {
|
}) async {
|
||||||
final GoRouter router = GoRouter(
|
final GoRouter router = GoRouter(
|
||||||
initialLocation: '/',
|
initialLocation: '/',
|
||||||
@ -25,6 +26,9 @@ Future<GoRouter> createGoRouter(
|
|||||||
],
|
],
|
||||||
refreshListenable: refreshListenable,
|
refreshListenable: refreshListenable,
|
||||||
);
|
);
|
||||||
|
if (dispose) {
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
}
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
));
|
));
|
||||||
@ -65,6 +69,7 @@ Future<GoRouter> createGoRouterWithStatefulShellRoute(
|
|||||||
], builder: mockStackedShellBuilder),
|
], builder: mockStackedShellBuilder),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
));
|
));
|
||||||
@ -287,6 +292,7 @@ void main() {
|
|||||||
GoRoute(path: '/page-1', builder: (_, __) => const SizedBox()),
|
GoRoute(path: '/page-1', builder: (_, __) => const SizedBox()),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: goRouter,
|
routerConfig: goRouter,
|
||||||
@ -369,6 +375,7 @@ void main() {
|
|||||||
builder: (_, __) => const SizedBox()),
|
builder: (_, __) => const SizedBox()),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: goRouter,
|
routerConfig: goRouter,
|
||||||
@ -418,6 +425,7 @@ void main() {
|
|||||||
GoRoute(path: '/page-1', builder: (_, __) => const SizedBox()),
|
GoRoute(path: '/page-1', builder: (_, __) => const SizedBox()),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: goRouter,
|
routerConfig: goRouter,
|
||||||
@ -535,6 +543,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
));
|
));
|
||||||
@ -634,8 +643,13 @@ void main() {
|
|||||||
testWidgets('dispose unsubscribes from refreshListenable',
|
testWidgets('dispose unsubscribes from refreshListenable',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final FakeRefreshListenable refreshListenable = FakeRefreshListenable();
|
final FakeRefreshListenable refreshListenable = FakeRefreshListenable();
|
||||||
final GoRouter goRouter =
|
addTearDown(refreshListenable.dispose);
|
||||||
await createGoRouter(tester, refreshListenable: refreshListenable);
|
|
||||||
|
final GoRouter goRouter = await createGoRouter(
|
||||||
|
tester,
|
||||||
|
refreshListenable: refreshListenable,
|
||||||
|
dispose: false,
|
||||||
|
);
|
||||||
await tester.pumpWidget(Container());
|
await tester.pumpWidget(Container());
|
||||||
goRouter.dispose();
|
goRouter.dispose();
|
||||||
expect(refreshListenable.unsubscribed, true);
|
expect(refreshListenable.unsubscribed, true);
|
||||||
|
@ -26,6 +26,7 @@ void main() {
|
|||||||
builder: (_, __) => const SizedBox())
|
builder: (_, __) => const SizedBox())
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
));
|
));
|
||||||
|
@ -32,6 +32,8 @@ void main() {
|
|||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
addTearDown(router.dispose);
|
||||||
final SimpleDependency dependency = SimpleDependency();
|
final SimpleDependency dependency = SimpleDependency();
|
||||||
addTearDown(() => dependency.dispose());
|
addTearDown(() => dependency.dispose());
|
||||||
|
|
||||||
|
@ -968,6 +968,8 @@ void main() {
|
|||||||
testWidgets('does not crash when inherited widget changes',
|
testWidgets('does not crash when inherited widget changes',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final ValueNotifier<String> notifier = ValueNotifier<String>('initial');
|
final ValueNotifier<String> notifier = ValueNotifier<String>('initial');
|
||||||
|
|
||||||
|
addTearDown(notifier.dispose);
|
||||||
final List<GoRoute> routes = <GoRoute>[
|
final List<GoRoute> routes = <GoRoute>[
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: '/',
|
path: '/',
|
||||||
@ -985,6 +987,7 @@ void main() {
|
|||||||
final GoRouter router = GoRouter(
|
final GoRouter router = GoRouter(
|
||||||
routes: routes,
|
routes: routes,
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3212,6 +3215,7 @@ void main() {
|
|||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterNamedLocationSpy router =
|
final GoRouterNamedLocationSpy router =
|
||||||
GoRouterNamedLocationSpy(routes: routes);
|
GoRouterNamedLocationSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3230,6 +3234,7 @@ void main() {
|
|||||||
|
|
||||||
testWidgets('calls [go] on closest GoRouter', (WidgetTester tester) async {
|
testWidgets('calls [go] on closest GoRouter', (WidgetTester tester) async {
|
||||||
final GoRouterGoSpy router = GoRouterGoSpy(routes: routes);
|
final GoRouterGoSpy router = GoRouterGoSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3247,6 +3252,7 @@ void main() {
|
|||||||
testWidgets('calls [goNamed] on closest GoRouter',
|
testWidgets('calls [goNamed] on closest GoRouter',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterGoNamedSpy router = GoRouterGoNamedSpy(routes: routes);
|
final GoRouterGoNamedSpy router = GoRouterGoNamedSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3268,6 +3274,7 @@ void main() {
|
|||||||
testWidgets('calls [push] on closest GoRouter',
|
testWidgets('calls [push] on closest GoRouter',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterPushSpy router = GoRouterPushSpy(routes: routes);
|
final GoRouterPushSpy router = GoRouterPushSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3285,6 +3292,7 @@ void main() {
|
|||||||
testWidgets('calls [push] on closest GoRouter and waits for result',
|
testWidgets('calls [push] on closest GoRouter and waits for result',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterPushSpy router = GoRouterPushSpy(routes: routes);
|
final GoRouterPushSpy router = GoRouterPushSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routeInformationProvider: router.routeInformationProvider,
|
routeInformationProvider: router.routeInformationProvider,
|
||||||
@ -3305,6 +3313,7 @@ void main() {
|
|||||||
testWidgets('calls [pushNamed] on closest GoRouter',
|
testWidgets('calls [pushNamed] on closest GoRouter',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterPushNamedSpy router = GoRouterPushNamedSpy(routes: routes);
|
final GoRouterPushNamedSpy router = GoRouterPushNamedSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3326,6 +3335,7 @@ void main() {
|
|||||||
testWidgets('calls [pushNamed] on closest GoRouter and waits for result',
|
testWidgets('calls [pushNamed] on closest GoRouter and waits for result',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterPushNamedSpy router = GoRouterPushNamedSpy(routes: routes);
|
final GoRouterPushNamedSpy router = GoRouterPushNamedSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routeInformationProvider: router.routeInformationProvider,
|
routeInformationProvider: router.routeInformationProvider,
|
||||||
@ -3349,6 +3359,7 @@ void main() {
|
|||||||
|
|
||||||
testWidgets('calls [pop] on closest GoRouter', (WidgetTester tester) async {
|
testWidgets('calls [pop] on closest GoRouter', (WidgetTester tester) async {
|
||||||
final GoRouterPopSpy router = GoRouterPopSpy(routes: routes);
|
final GoRouterPopSpy router = GoRouterPopSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -3363,6 +3374,7 @@ void main() {
|
|||||||
testWidgets('calls [pop] on closest GoRouter with result',
|
testWidgets('calls [pop] on closest GoRouter with result',
|
||||||
(WidgetTester tester) async {
|
(WidgetTester tester) async {
|
||||||
final GoRouterPopSpy router = GoRouterPopSpy(routes: routes);
|
final GoRouterPopSpy router = GoRouterPopSpy(routes: routes);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
@ -4315,6 +4327,7 @@ void main() {
|
|||||||
GoRoute(path: '/a', builder: (_, __) => const DummyScreen()),
|
GoRoute(path: '/a', builder: (_, __) => const DummyScreen()),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
@ -4377,6 +4390,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
@ -4443,6 +4457,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
@ -4499,6 +4514,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
||||||
|
|
||||||
@ -4568,6 +4584,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
@ -4638,6 +4655,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: router));
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ WidgetTesterCallback testClickingTheButtonRedirectsToRoot({
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(appRouterBuilder(router));
|
await tester.pumpWidget(appRouterBuilder(router));
|
||||||
await tester.tap(buttonFinder);
|
await tester.tap(buttonFinder);
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
@ -97,6 +97,7 @@ void main() {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
|
@ -25,6 +25,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
|
|
||||||
// run MaterialApp, initial screen path is '/' -> ScreenA
|
// run MaterialApp, initial screen path is '/' -> ScreenA
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
|
@ -27,6 +27,7 @@ void main() {
|
|||||||
redirectLimit: redirectLimit,
|
redirectLimit: redirectLimit,
|
||||||
redirect: redirect,
|
redirect: redirect,
|
||||||
);
|
);
|
||||||
|
addTearDown(router.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: router,
|
routerConfig: router,
|
||||||
));
|
));
|
||||||
|
@ -199,6 +199,7 @@ void main() {
|
|||||||
initialLocation: '/build',
|
initialLocation: '/build',
|
||||||
routes: _routes,
|
routes: _routes,
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('build')), findsOneWidget);
|
expect(find.byKey(const Key('build')), findsOneWidget);
|
||||||
expect(find.byKey(const Key('buildPage')), findsNothing);
|
expect(find.byKey(const Key('buildPage')), findsNothing);
|
||||||
@ -212,6 +213,7 @@ void main() {
|
|||||||
initialLocation: '/build-page',
|
initialLocation: '/build-page',
|
||||||
routes: _routes,
|
routes: _routes,
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('build')), findsNothing);
|
expect(find.byKey(const Key('build')), findsNothing);
|
||||||
expect(find.byKey(const Key('buildPage')), findsOneWidget);
|
expect(find.byKey(const Key('buildPage')), findsOneWidget);
|
||||||
@ -229,6 +231,7 @@ void main() {
|
|||||||
_shellRouteDataBuilder,
|
_shellRouteDataBuilder,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('builder')), findsOneWidget);
|
expect(find.byKey(const Key('builder')), findsOneWidget);
|
||||||
expect(find.byKey(const Key('page-builder')), findsNothing);
|
expect(find.byKey(const Key('page-builder')), findsNothing);
|
||||||
@ -272,6 +275,7 @@ void main() {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(
|
await tester.pumpWidget(MaterialApp.router(
|
||||||
routerConfig: goRouter,
|
routerConfig: goRouter,
|
||||||
));
|
));
|
||||||
@ -301,6 +305,7 @@ void main() {
|
|||||||
_shellRouteDataPageBuilder,
|
_shellRouteDataPageBuilder,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('builder')), findsNothing);
|
expect(find.byKey(const Key('builder')), findsNothing);
|
||||||
expect(find.byKey(const Key('page-builder')), findsOneWidget);
|
expect(find.byKey(const Key('page-builder')), findsOneWidget);
|
||||||
@ -318,6 +323,7 @@ void main() {
|
|||||||
_statefulShellRouteDataBuilder,
|
_statefulShellRouteDataBuilder,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('builder')), findsOneWidget);
|
expect(find.byKey(const Key('builder')), findsOneWidget);
|
||||||
expect(find.byKey(const Key('page-builder')), findsNothing);
|
expect(find.byKey(const Key('page-builder')), findsNothing);
|
||||||
@ -333,6 +339,7 @@ void main() {
|
|||||||
_statefulShellRouteDataPageBuilder,
|
_statefulShellRouteDataPageBuilder,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('builder')), findsNothing);
|
expect(find.byKey(const Key('builder')), findsNothing);
|
||||||
expect(find.byKey(const Key('page-builder')), findsOneWidget);
|
expect(find.byKey(const Key('page-builder')), findsOneWidget);
|
||||||
@ -367,6 +374,7 @@ void main() {
|
|||||||
initialLocation: '/redirect',
|
initialLocation: '/redirect',
|
||||||
routes: _routes,
|
routes: _routes,
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('build')), findsNothing);
|
expect(find.byKey(const Key('build')), findsNothing);
|
||||||
expect(find.byKey(const Key('buildPage')), findsOneWidget);
|
expect(find.byKey(const Key('buildPage')), findsOneWidget);
|
||||||
@ -380,6 +388,7 @@ void main() {
|
|||||||
initialLocation: '/redirect-with-state',
|
initialLocation: '/redirect-with-state',
|
||||||
routes: _routes,
|
routes: _routes,
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
await tester.pumpWidget(MaterialApp.router(routerConfig: goRouter));
|
||||||
expect(find.byKey(const Key('build')), findsNothing);
|
expect(find.byKey(const Key('build')), findsNothing);
|
||||||
expect(find.byKey(const Key('buildPage')), findsNothing);
|
expect(find.byKey(const Key('buildPage')), findsNothing);
|
||||||
|
@ -18,6 +18,7 @@ void main() {
|
|||||||
redirect: (_, __) => '/',
|
redirect: (_, __) => '/',
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
addTearDown(config.dispose);
|
||||||
final GoRouter router = await createRouterWithRoutingConfig(config, tester);
|
final GoRouter router = await createRouterWithRoutingConfig(config, tester);
|
||||||
expect(find.text('home'), findsOneWidget);
|
expect(find.text('home'), findsOneWidget);
|
||||||
|
|
||||||
@ -35,6 +36,7 @@ void main() {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
addTearDown(config.dispose);
|
||||||
await createRouterWithRoutingConfig(config, tester);
|
await createRouterWithRoutingConfig(config, tester);
|
||||||
expect(find.text('home'), findsOneWidget);
|
expect(find.text('home'), findsOneWidget);
|
||||||
|
|
||||||
@ -56,6 +58,7 @@ void main() {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
addTearDown(config.dispose);
|
||||||
final GoRouter router = await createRouterWithRoutingConfig(
|
final GoRouter router = await createRouterWithRoutingConfig(
|
||||||
config,
|
config,
|
||||||
tester,
|
tester,
|
||||||
@ -87,6 +90,7 @@ void main() {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
addTearDown(config.dispose);
|
||||||
final GoRouter router = await createRouterWithRoutingConfig(
|
final GoRouter router = await createRouterWithRoutingConfig(
|
||||||
config,
|
config,
|
||||||
tester,
|
tester,
|
||||||
@ -120,11 +124,13 @@ void main() {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
addTearDown(config.dispose);
|
||||||
final GoRouter router = await createRouterWithRoutingConfig(
|
final GoRouter router = await createRouterWithRoutingConfig(
|
||||||
config,
|
config,
|
||||||
tester,
|
tester,
|
||||||
errorBuilder: (_, __) => const Text('error'),
|
errorBuilder: (_, __) => const Text('error'),
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(find.text('home'), findsOneWidget);
|
expect(find.text('home'), findsOneWidget);
|
||||||
// Sanity check.
|
// Sanity check.
|
||||||
router.goNamed('abc');
|
router.goNamed('abc');
|
||||||
|
@ -188,6 +188,7 @@ Future<GoRouter> createRouter(
|
|||||||
requestFocus: requestFocus,
|
requestFocus: requestFocus,
|
||||||
overridePlatformDefaultLocation: overridePlatformDefaultLocation,
|
overridePlatformDefaultLocation: overridePlatformDefaultLocation,
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
restorationScopeId:
|
restorationScopeId:
|
||||||
@ -221,6 +222,7 @@ Future<GoRouter> createRouterWithRoutingConfig(
|
|||||||
requestFocus: requestFocus,
|
requestFocus: requestFocus,
|
||||||
overridePlatformDefaultLocation: overridePlatformDefaultLocation,
|
overridePlatformDefaultLocation: overridePlatformDefaultLocation,
|
||||||
);
|
);
|
||||||
|
addTearDown(goRouter.dispose);
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp.router(
|
MaterialApp.router(
|
||||||
restorationScopeId:
|
restorationScopeId:
|
||||||
@ -335,6 +337,12 @@ class DummyRestorableStatefulWidgetState
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_counter.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) => Container();
|
Widget build(BuildContext context) => Container();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user