Unverified Commit 069303d4 authored by Todd Volkert's avatar Todd Volkert Committed by GitHub

Add assert that the root widget has been attached. (#32437)

parent 40300fb8
......@@ -736,6 +736,12 @@ mixin WidgetsBinding on BindingBase, SchedulerBinding, GestureBinding, RendererB
).attachToRenderTree(buildOwner, renderViewElement);
}
/// Whether the [renderViewElement] has been initialized.
///
/// This will be false until [runApp] is called (or [WidgetTester.pumpWidget]
/// is called in the context of a [TestWidgetsFlutterBinding]).
bool get isRootWidgetAttached => _renderViewElement != null;
@override
Future<void> performReassemble() {
assert(() {
......
......@@ -175,6 +175,8 @@ class FlutterDriverExtension {
/// the result into a subclass of [Result], but that's not strictly required.
@visibleForTesting
Future<Map<String, dynamic>> call(Map<String, String> params) async {
assert(WidgetsBinding.instance.isRootWidgetAttached,
'No root widget is attached; have you remembered to call runApp()?');
final String commandKind = params['command'];
try {
final CommandHandlerCallback commandHandler = _commandHandlers[commandKind];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment