Skip to content

Commit

Permalink
Fix Router Config Issues #4300 (go_router_builder/example) (#4369)
Browse files Browse the repository at this point in the history
This PR is an extension of the previous PR #4300 that I submitted. The previous PR, being based on the main branch, was closed and the contents were copied to a new branch in order to make further contributions.�

In the previous PR, an assertion error was fixed by adding `routeInformationProvider` to `MaterialApp.router`. After a series of code reviews, we updated to use routerConfig and added some test codes.

All the contents have been transferred to the current `bugfix/RouterConfig` branch.

---
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one issue.*

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
  • Loading branch information
bisor0627 authored Jul 13, 2023
1 parent a4907b5 commit 5e63ef1
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 8 deletions.
4 changes: 1 addition & 3 deletions packages/go_router_builder/example/lib/all_types.dart
Original file line number Diff line number Diff line change
Expand Up @@ -550,9 +550,7 @@ class AllTypesApp extends StatelessWidget {

@override
Widget build(BuildContext context) => MaterialApp.router(
routeInformationParser: _router.routeInformationParser,
routerDelegate: _router.routerDelegate,
routeInformationProvider: _router.routeInformationProvider,
routerConfig: _router,
);

late final GoRouter _router = GoRouter(
Expand Down
4 changes: 1 addition & 3 deletions packages/go_router_builder/example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@ class App extends StatelessWidget {
Widget build(BuildContext context) => ChangeNotifierProvider<LoginInfo>.value(
value: loginInfo,
child: MaterialApp.router(
routeInformationParser: _router.routeInformationParser,
routerDelegate: _router.routerDelegate,
routeInformationProvider: _router.routeInformationProvider,
routerConfig: _router,
title: title,
debugShowCheckedModeBanner: false,
),
Expand Down
3 changes: 1 addition & 2 deletions packages/go_router_builder/example/lib/simple_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ class App extends StatelessWidget {

@override
Widget build(BuildContext context) => MaterialApp.router(
routeInformationParser: _router.routeInformationParser,
routerDelegate: _router.routerDelegate,
routerConfig: _router,
title: _appTitle,
);

Expand Down
20 changes: 20 additions & 0 deletions packages/go_router_builder/example/test/simple_example_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:go_router_builder_example/shared/data.dart';
import 'package:go_router_builder_example/simple_example.dart';

void main() {
testWidgets('App starts on HomeScreen and displays families',
(WidgetTester tester) async {
await tester.pumpWidget(App());
expect(find.byType(HomeScreen), findsOneWidget);
expect(find.byType(ListTile), findsNWidgets(familyData.length));
for (final Family family in familyData) {
expect(find.text(family.name), findsOneWidget);
}
});
}

0 comments on commit 5e63ef1

Please sign in to comment.