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 <victorsanniay@gmail.com>
This commit is contained in:
Ahmed Mohamed Sameh 2026-01-21 20:12:56 +02:00 committed by GitHub
parent ac069ade5c
commit be2f3bd443
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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', () {