From be2f3bd4438c1e51ecdaeb8ca43a56c04edfa9b0 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed Sameh Date: Wed, 21 Jan 2026 20:12:56 +0200 Subject: [PATCH] Make sure that a Focus doesn't crash in 0x0 environment (#180674) This is my attempt to handle https://github.com/flutter/flutter/issues/6537 for the Focus widget. Co-authored-by: Victor Sanni --- .../test/widgets/focus_scope_test.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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', () {