Make sure that a CupertinoTextField doesn't crash in 0x0 environment#179865
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds a regression test for an issue where CupertinoTextField would crash in a zero-sized environment. The test case simulates the scenario by setting the view size to zero and then updating the text selection, which was the trigger for the crash. I have one suggestion to add a comment with a link to the original issue for better long-term maintainability. I also noticed that the PR description is missing the pre-launch checklist from the template, as required by the repository's contributing guidelines (lines 13-15).
| ); | ||
|
|
||
| testWidgets('CupertinoTextField does not crash at zero area', (WidgetTester tester) async { | ||
| tester.view.physicalSize = Size.zero; |
There was a problem hiding this comment.
This regression test is clear and covers the intended scenario. To improve long-term maintainability and provide more context for future developers, consider adding a comment that links to the original issue this test is addressing. This aligns with the style guide's emphasis on useful documentation (line 55).
// Regression test for https://github.com/flutter/flutter/issues/6537
tester.view.physicalSize = Size.zero;References
- The style guide recommends that documentation should be useful and explain the 'why' and the 'how' (line 55). Adding a comment with a link to the issue explains why this test exists. (link)
Manual roll Flutter from d81baab to 57c3f8b (38 revisions) Manual roll requested by [email protected] flutter/flutter@d81baab...57c3f8b 2025-12-17 [email protected] Add FloatingActionButtonTheme (flutter/flutter#179736) 2025-12-17 [email protected] Roll Skia from b1569739f431 to fb576bd6827a (1 revision) (flutter/flutter#179989) 2025-12-17 [email protected] Update more comments related to theme normalization (flutter/flutter#179682) 2025-12-17 [email protected] Roll Skia from cce9b86bda7d to b1569739f431 (1 revision) (flutter/flutter#179979) 2025-12-17 [email protected] Adds property passthrough for CheckboxListTile, SwitchListTile and RadioListTile (flutter/flutter#178098) 2025-12-17 [email protected] Roll Dart SDK from ca949b915846 to 3793f3d2d0c4 (2 revisions) (flutter/flutter#179973) 2025-12-17 [email protected] Roll Skia from 318400199beb to cce9b86bda7d (1 revision) (flutter/flutter#179976) 2025-12-17 [email protected] Make sure that a CupertinoTextFormFieldRow doesn't crash in 0x0 envir… (flutter/flutter#179932) 2025-12-17 [email protected] Make sure that a CupertinoTabView doesn't crash in 0x0 environment (flutter/flutter#179845) 2025-12-17 [email protected] Make sure that a CupertinoTextField doesn't crash in 0x0 environment (flutter/flutter#179865) 2025-12-17 [email protected] Make sure that a CupertinoSwitch doesn't crash in 0x0 environment (flutter/flutter#179748) 2025-12-17 [email protected] Update `BuildContext` docs to make it easier to understand (flutter/flutter#178616) 2025-12-17 [email protected] [ios][pv] quick fix to enable and re-enable web view's gesture recognizer (flutter/flutter#179908) 2025-12-17 [email protected] Deduplicate wasm dry run entries in analytics. (flutter/flutter#179970) 2025-12-17 [email protected] Roll Skia from 99899cbb415b to 318400199beb (1 revision) (flutter/flutter#179969) 2025-12-17 [email protected] Roll Skia from 2ac4a8709bc9 to 99899cbb415b (1 revision) (flutter/flutter#179968) 2025-12-17 [email protected] Roll Dart SDK from 95a92bc705d3 to ca949b915846 (6 revisions) (flutter/flutter#179967) 2025-12-17 [email protected] Add package info to wasm dry run events. (flutter/flutter#179826) 2025-12-17 [email protected] Platform View Hide/Show Integration test (flutter/flutter#179902) 2025-12-16 [email protected] Roll Skia from 61162d72343f to 2ac4a8709bc9 (14 revisions) (flutter/flutter#179961) 2025-12-16 [email protected] Roll Fuchsia Linux SDK from 433KtmJvbMyaDMJvD... to fAoyBAT99XxwPE5hL... (flutter/flutter#179960) 2025-12-16 [email protected] [ Tool ] Fix update-packages not accounting for path dependencies (flutter/flutter#179951) 2025-12-16 [email protected] ListTile fix MinIntrinsicHeight calculation (flutter/flutter#179515) 2025-12-16 [email protected] Fix pinned header in NestedScrollView (flutter/flutter#179210) 2025-12-16 [email protected] Update some comments related to theme normalization (flutter/flutter#179624) 2025-12-16 [email protected] Add Cyrillic keyboard layout support for flutter_tools terminal commands (flutter/flutter#177855) 2025-12-16 [email protected] Minor fixes for libstdc++ 15 (flutter/flutter#178601) 2025-12-16 [email protected] Feat: Add top gap for cupertino sheet (flutter/flutter#171348) 2025-12-16 [email protected] Align `Build.API_LEVELS` usage in `FlutterImageDecoder.java` with existing usage (flutter/flutter#179868) 2025-12-16 [email protected] Revert "[ios][pv] accept/reject gesture based on hitTest (with new wi… (flutter/flutter#179895) 2025-12-16 [email protected] fix: line endings for flutter/dart/flutter-dev (flutter/flutter#179912) 2025-12-16 [email protected] Platform view blur clipping - Rounded Rect (iOS) (flutter/flutter#177551) 2025-12-16 [email protected] Roll Dart SDK from 20d114f951db to 95a92bc705d3 (1 revision) (flutter/flutter#179909) 2025-12-16 [email protected] [Reland] Unmodified android sdk bundle (flutter/flutter#179920) 2025-12-16 [email protected] Roll Skia from 6903a4e65c3f to 61162d72343f (2 revisions) (flutter/flutter#179915) 2025-12-16 [email protected] Roll Packages from 2cd921c to 57725eb (1 revision) (flutter/flutter#179942) 2025-12-16 [email protected] Filter out FrameEvents/updateAcquireFence log spam from adb logcat (flutter/flutter#179884) 2025-12-16 [email protected] `flutter update-packages --force-upgrade --update-hashes` (flutter/flutter#179950) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. ...
…0671) Manual roll Flutter from d81baab to 57c3f8b (38 revisions) Manual roll requested by [email protected] flutter/flutter@d81baab...57c3f8b 2025-12-17 [email protected] Add FloatingActionButtonTheme (flutter/flutter#179736) 2025-12-17 [email protected] Roll Skia from b1569739f431 to fb576bd6827a (1 revision) (flutter/flutter#179989) 2025-12-17 [email protected] Update more comments related to theme normalization (flutter/flutter#179682) 2025-12-17 [email protected] Roll Skia from cce9b86bda7d to b1569739f431 (1 revision) (flutter/flutter#179979) 2025-12-17 [email protected] Adds property passthrough for CheckboxListTile, SwitchListTile and RadioListTile (flutter/flutter#178098) 2025-12-17 [email protected] Roll Dart SDK from ca949b915846 to 3793f3d2d0c4 (2 revisions) (flutter/flutter#179973) 2025-12-17 [email protected] Roll Skia from 318400199beb to cce9b86bda7d (1 revision) (flutter/flutter#179976) 2025-12-17 [email protected] Make sure that a CupertinoTextFormFieldRow doesn't crash in 0x0 envir… (flutter/flutter#179932) 2025-12-17 [email protected] Make sure that a CupertinoTabView doesn't crash in 0x0 environment (flutter/flutter#179845) 2025-12-17 [email protected] Make sure that a CupertinoTextField doesn't crash in 0x0 environment (flutter/flutter#179865) 2025-12-17 [email protected] Make sure that a CupertinoSwitch doesn't crash in 0x0 environment (flutter/flutter#179748) 2025-12-17 [email protected] Update `BuildContext` docs to make it easier to understand (flutter/flutter#178616) 2025-12-17 [email protected] [ios][pv] quick fix to enable and re-enable web view's gesture recognizer (flutter/flutter#179908) 2025-12-17 [email protected] Deduplicate wasm dry run entries in analytics. (flutter/flutter#179970) 2025-12-17 [email protected] Roll Skia from 99899cbb415b to 318400199beb (1 revision) (flutter/flutter#179969) 2025-12-17 [email protected] Roll Skia from 2ac4a8709bc9 to 99899cbb415b (1 revision) (flutter/flutter#179968) 2025-12-17 [email protected] Roll Dart SDK from 95a92bc705d3 to ca949b915846 (6 revisions) (flutter/flutter#179967) 2025-12-17 [email protected] Add package info to wasm dry run events. (flutter/flutter#179826) 2025-12-17 [email protected] Platform View Hide/Show Integration test (flutter/flutter#179902) 2025-12-16 [email protected] Roll Skia from 61162d72343f to 2ac4a8709bc9 (14 revisions) (flutter/flutter#179961) 2025-12-16 [email protected] Roll Fuchsia Linux SDK from 433KtmJvbMyaDMJvD... to fAoyBAT99XxwPE5hL... (flutter/flutter#179960) 2025-12-16 [email protected] [ Tool ] Fix update-packages not accounting for path dependencies (flutter/flutter#179951) 2025-12-16 [email protected] ListTile fix MinIntrinsicHeight calculation (flutter/flutter#179515) 2025-12-16 [email protected] Fix pinned header in NestedScrollView (flutter/flutter#179210) 2025-12-16 [email protected] Update some comments related to theme normalization (flutter/flutter#179624) 2025-12-16 [email protected] Add Cyrillic keyboard layout support for flutter_tools terminal commands (flutter/flutter#177855) 2025-12-16 [email protected] Minor fixes for libstdc++ 15 (flutter/flutter#178601) 2025-12-16 [email protected] Feat: Add top gap for cupertino sheet (flutter/flutter#171348) 2025-12-16 [email protected] Align `Build.API_LEVELS` usage in `FlutterImageDecoder.java` with existing usage (flutter/flutter#179868) 2025-12-16 [email protected] Revert "[ios][pv] accept/reject gesture based on hitTest (with new wi… (flutter/flutter#179895) 2025-12-16 [email protected] fix: line endings for flutter/dart/flutter-dev (flutter/flutter#179912) 2025-12-16 [email protected] Platform view blur clipping - Rounded Rect (iOS) (flutter/flutter#177551) 2025-12-16 [email protected] Roll Dart SDK from 20d114f951db to 95a92bc705d3 (1 revision) (flutter/flutter#179909) 2025-12-16 [email protected] [Reland] Unmodified android sdk bundle (flutter/flutter#179920) 2025-12-16 [email protected] Roll Skia from 6903a4e65c3f to 61162d72343f (2 revisions) (flutter/flutter#179915) 2025-12-16 [email protected] Roll Packages from 2cd921c to 57725eb (1 revision) (flutter/flutter#179942) 2025-12-16 [email protected] Filter out FrameEvents/updateAcquireFence log spam from adb logcat (flutter/flutter#179884) 2025-12-16 [email protected] `flutter update-packages --force-upgrade --update-hashes` (flutter/flutter#179950) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. ...
This is my attempt to handle #6537 for the CupertinoTextField widget.