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(