Fix MaterialApp's _navigatorObserver when only builder used (#29413)

Fix MaterialApp's _navigatorObserver so it doesn't cause WidgetApp's assertion to fail when using custom navigator, fixes #18904
This commit is contained in:
Morgan
2019-04-04 15:02:11 -07:00
committed by Darren Austin
parent 223d68ac8b
commit 74ee010b7b
2 changed files with 12 additions and 1 deletions

View File

@@ -419,7 +419,7 @@ class _MaterialAppState extends State<MaterialApp> {
_navigatorObservers = List<NavigatorObserver>.from(widget.navigatorObservers)
..add(_heroController);
} else {
_navigatorObservers = null;
_navigatorObservers = const <NavigatorObserver>[];
}
}

View File

@@ -381,6 +381,17 @@ void main() {
expect(log, <String>['onGenerateRoute /', 'onUnknownRoute /']);
});
testWidgets('MaterialApp with builder and no route information works.', (WidgetTester tester) async {
// Regression test for https://github.com/flutter/flutter/issues/18904
await tester.pumpWidget(
MaterialApp(
builder: (BuildContext context, Widget child) {
return const SizedBox();
},
),
);
});
testWidgets('Can get text scale from media query', (WidgetTester tester) async {
double textScaleFactor;
await tester.pumpWidget(MaterialApp(