From 07e1cdd9ff518e81f048d7d0db266b36c2ef4e18 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed Sameh Date: Mon, 8 Dec 2025 20:16:21 +0200 Subject: [PATCH] Make sure that a CupertinoFocusHalo doesn't crash in 0x0 environment (#178773) This is my attempt to handle https://github.com/flutter/flutter/issues/6537 for the CupertinoFocusHalo widget. --------- Co-authored-by: Tong Mu Co-authored-by: Victor Sanni --- .../cupertino/cupertino_focus_halo_test.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/flutter/test/cupertino/cupertino_focus_halo_test.dart b/packages/flutter/test/cupertino/cupertino_focus_halo_test.dart index e85e1a48939..2c8c9c03b9a 100644 --- a/packages/flutter/test/cupertino/cupertino_focus_halo_test.dart +++ b/packages/flutter/test/cupertino/cupertino_focus_halo_test.dart @@ -172,4 +172,23 @@ void main() { expect(findBorder(group2Key, tester), getExpectedHaloBorder()); }, ); + + testWidgets('CupertinoFocusHalo does not crash at zero area', (WidgetTester tester) async { + final focusNode = FocusNode(); + addTearDown(focusNode.dispose); + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: SizedBox.shrink( + child: CupertinoFocusHalo.withRect( + child: Focus(focusNode: focusNode, child: const Text('X')), + ), + ), + ), + ), + ); + focusNode.requestFocus(); + await tester.pumpAndSettle(); + expect(tester.getSize(find.byType(CupertinoFocusHalo)), Size.zero); + }); }