From 74ee010b7b457fffd67e6521a950208a06da2d55 Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 4 Apr 2019 15:02:11 -0700 Subject: [PATCH] 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 --- packages/flutter/lib/src/material/app.dart | 2 +- packages/flutter/test/material/app_test.dart | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/flutter/lib/src/material/app.dart b/packages/flutter/lib/src/material/app.dart index f86fb35189..b033b93311 100644 --- a/packages/flutter/lib/src/material/app.dart +++ b/packages/flutter/lib/src/material/app.dart @@ -419,7 +419,7 @@ class _MaterialAppState extends State { _navigatorObservers = List.from(widget.navigatorObservers) ..add(_heroController); } else { - _navigatorObservers = null; + _navigatorObservers = const []; } } diff --git a/packages/flutter/test/material/app_test.dart b/packages/flutter/test/material/app_test.dart index 5cc30aa0f0..56c9fa7659 100644 --- a/packages/flutter/test/material/app_test.dart +++ b/packages/flutter/test/material/app_test.dart @@ -381,6 +381,17 @@ void main() { expect(log, ['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(