diff --git a/packages/flutter/test/widgets/focus_scope_test.dart b/packages/flutter/test/widgets/focus_scope_test.dart index 428b9d321e1..68b8462de47 100644 --- a/packages/flutter/test/widgets/focus_scope_test.dart +++ b/packages/flutter/test/widgets/focus_scope_test.dart @@ -1882,6 +1882,25 @@ void main() { expect(focusNode.hasFocus, isTrue); semantics.dispose(); }); + + testWidgets('Focus does not crash at zero area', (WidgetTester tester) async { + tester.view.physicalSize = Size.zero; + final focusNode = FocusNode(); + addTearDown(tester.view.reset); + addTearDown(focusNode.dispose); + const key = Key('focus'); + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: Center( + child: Focus(key: key, focusNode: focusNode, child: const Text('X')), + ), + ), + ); + expect(tester.getSize(find.byKey(key)), Size.zero); + focusNode.requestFocus(); + await tester.pump(); + }); }); group('ExcludeFocus', () {