[go_router] Export inherited_go_router.dart file (#1145)

diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md
index 2dd8a6b..b7e3c52 100644
--- a/packages/go_router/CHANGELOG.md
+++ b/packages/go_router/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.0.6
+
+- Exports inherited_go_router.dart file.
+
 ## 3.0.5
 
 - Add `dispatchNotification` method to `DummyBuildContext` in tests. (This
diff --git a/packages/go_router/lib/go_router.dart b/packages/go_router/lib/go_router.dart
index b331c61..403cca9 100644
--- a/packages/go_router/lib/go_router.dart
+++ b/packages/go_router/lib/go_router.dart
@@ -15,6 +15,7 @@
 export 'src/go_router.dart';
 export 'src/go_router_refresh_stream.dart';
 export 'src/go_router_state.dart';
+export 'src/inherited_go_router.dart';
 export 'src/typedefs.dart' show GoRouterPageBuilder, GoRouterRedirect;
 export 'src/url_path_strategy.dart';
 
diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml
index b333bfa..038fa10 100644
--- a/packages/go_router/pubspec.yaml
+++ b/packages/go_router/pubspec.yaml
@@ -1,7 +1,7 @@
 name: go_router
 description: A declarative router for Flutter based on Navigation 2 supporting
   deep linking, data-driven routes and more
-version: 3.0.5
+version: 3.0.6
 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
 
diff --git a/packages/go_router/test/inherited_go_router_test.dart b/packages/go_router/test/inherited_go_router_test.dart
index cadf955..216b93c 100644
--- a/packages/go_router/test/inherited_go_router_test.dart
+++ b/packages/go_router/test/inherited_go_router_test.dart
@@ -6,7 +6,6 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:go_router/go_router.dart';
-import 'package:go_router/src/inherited_go_router.dart';
 
 void main() {
   group('updateShouldNotify', () {
@@ -71,6 +70,15 @@
     expect(properties.properties.first, isA<DiagnosticsProperty<GoRouter>>());
     expect(properties.properties.first.value, goRouter);
   });
+
+  testWidgets('mediates Widget\'s access to GoRouter.',
+      (WidgetTester tester) async {
+    final MockGoRouter router = MockGoRouter();
+    await tester.pumpWidget(MaterialApp(
+        home: InheritedGoRouter(goRouter: router, child: const _MyWidget())));
+    await tester.tap(find.text('My Page'));
+    expect(router.latestPushedName, 'my_page');
+  });
 }
 
 bool setupInheritedGoRouterChange({
@@ -103,3 +111,28 @@
   @override
   Widget build(BuildContext context) => Container();
 }
+
+class _MyWidget extends StatelessWidget {
+  const _MyWidget({Key? key}) : super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return ElevatedButton(
+        onPressed: () => context.pushNamed('my_page'),
+        child: const Text('My Page'));
+  }
+}
+
+class MockGoRouter extends GoRouter {
+  MockGoRouter() : super(routes: <GoRoute>[]);
+
+  late String latestPushedName;
+
+  @override
+  void pushNamed(String name,
+      {Map<String, String> params = const <String, String>{},
+      Map<String, String> queryParams = const <String, String>{},
+      Object? extra}) {
+    latestPushedName = name;
+  }
+}