Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
format
  • Loading branch information
chunhtai committed Nov 2, 2023
commit 07203fecde2bd7193876eeaf25c461cc951964d7
73 changes: 39 additions & 34 deletions packages/go_router/test/routing_config_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -108,41 +108,46 @@ void main() {
});

testWidgets('routing config works with named route',
(WidgetTester tester) async {
final ValueNotifier<RoutingConfig> config = ValueNotifier<RoutingConfig>(
RoutingConfig(
routes: <RouteBase>[
GoRoute(path: '/', builder: (_, __) => const Text('home')),
GoRoute(path: '/abc', name: 'abc', builder: (_, __) => const Text('/abc')),
],
),
);
final GoRouter router = await createRouterWithRoutingConfig(
config,
tester,
errorBuilder: (_, __) => const Text('error'),
);
expect(find.text('home'), findsOneWidget);
// Sanity check.
router.goNamed('abc');
await tester.pumpAndSettle();
expect(find.text('/abc'), findsOneWidget);
(WidgetTester tester) async {
final ValueNotifier<RoutingConfig> config = ValueNotifier<RoutingConfig>(
RoutingConfig(
routes: <RouteBase>[
GoRoute(path: '/', builder: (_, __) => const Text('home')),
GoRoute(
path: '/abc',
name: 'abc',
builder: (_, __) => const Text('/abc')),
],
),
);
final GoRouter router = await createRouterWithRoutingConfig(
config,
tester,
errorBuilder: (_, __) => const Text('error'),
);
expect(find.text('home'), findsOneWidget);
// Sanity check.
router.goNamed('abc');
await tester.pumpAndSettle();
expect(find.text('/abc'), findsOneWidget);

config.value = RoutingConfig(
routes: <RouteBase>[
GoRoute(path: '/', name: 'home', builder: (_, __) => const Text('home')),
GoRoute(path: '/abc', name: 'def',builder: (_, __) => const Text('def')),
],
);
await tester.pumpAndSettle();
expect(find.text('def'), findsOneWidget);
config.value = RoutingConfig(
routes: <RouteBase>[
GoRoute(
path: '/', name: 'home', builder: (_, __) => const Text('home')),
GoRoute(
path: '/abc', name: 'def', builder: (_, __) => const Text('def')),
],
);
await tester.pumpAndSettle();
expect(find.text('def'), findsOneWidget);

router.goNamed('home');
await tester.pumpAndSettle();
expect(find.text('home'), findsOneWidget);
router.goNamed('home');
await tester.pumpAndSettle();
expect(find.text('home'), findsOneWidget);

router.goNamed('def');
await tester.pumpAndSettle();
expect(find.text('def'), findsOneWidget);
});
router.goNamed('def');
await tester.pumpAndSettle();
expect(find.text('def'), findsOneWidget);
});
}