diff --git a/packages/flutter/lib/src/material/material_app.dart b/packages/flutter/lib/src/material/material_app.dart index 01be12943e..70a93fa9fc 100644 --- a/packages/flutter/lib/src/material/material_app.dart +++ b/packages/flutter/lib/src/material/material_app.dart @@ -36,9 +36,12 @@ class MaterialApp extends StatefulComponent { Key key, this.title, this.theme, - this.routes, + this.routes: const {}, this.onGenerateRoute - }) : super(key: key); + }) : super(key: key) { + assert(routes != null); + assert(routes.containsKey(Navigator.defaultRouteName) || onGenerateRoute != null); + } final String title; final ThemeData theme; diff --git a/packages/flutter/lib/src/widgets/navigator.dart b/packages/flutter/lib/src/widgets/navigator.dart index 22a2cc38a6..36145011ce 100644 --- a/packages/flutter/lib/src/widgets/navigator.dart +++ b/packages/flutter/lib/src/widgets/navigator.dart @@ -23,7 +23,7 @@ abstract class Route { } class NamedRouteSettings { - const NamedRouteSettings({ this.name: '', this.mostValuableKeys }); + const NamedRouteSettings({ this.name, this.mostValuableKeys }); final String name; final Set mostValuableKeys; @@ -92,6 +92,7 @@ class NavigatorState extends State { } void pushNamed(String name, { Set mostValuableKeys }) { + assert(name != null); NamedRouteSettings settings = new NamedRouteSettings( name: name, mostValuableKeys: mostValuableKeys