[cupertino_ui] Re-enable text_field_test.dart#12067
Conversation
There was a problem hiding this comment.
Code Review
This pull request removes the skip annotation from text_field_test.dart and refactors its semantics tests to use tester.ensureSemantics() and isSemantics assertions instead of SemanticsTester and hasSemantics. Additionally, it updates relative imports and introduces helper functions in text_selection_toolbar_utils.dart to verify Cupertino text selection toolbars across different target platforms. No review comments were provided, and there is no additional feedback.
justinmc
left a comment
There was a problem hiding this comment.
LGTM 👍. So much more compact without TestSemantics!
| WidgetTester tester, | ||
| ) async { | ||
| final semantics = SemanticsTester(tester); | ||
| final SemanticsHandle handle = tester.ensureSemantics(); |
There was a problem hiding this comment.
ensureSemantics is no longer needed per @chunhtai .
|
|
||
| testWidgets('Readonly text field does not have tap action', (WidgetTester tester) async { | ||
| final semantics = SemanticsTester(tester); | ||
| final SemanticsHandle handle = tester.ensureSemantics(); |
There was a problem hiding this comment.
Another ensureSemantics you can remove.
| WidgetTester tester, | ||
| ) async { | ||
| final semantics = SemanticsTester(tester); | ||
| final SemanticsHandle handle = tester.ensureSemantics(); |
There was a problem hiding this comment.
Another ensureSemantics you can remove.
| WidgetTester tester, | ||
| ) async { | ||
| final semantics = SemanticsTester(tester); | ||
| final SemanticsHandle handle = tester.ensureSemantics(); |
There was a problem hiding this comment.
Another ensureSemantics you can remove.
| WidgetTester tester, | ||
| ) async { | ||
| final semantics = SemanticsTester(tester); | ||
| final SemanticsHandle handle = tester.ensureSemantics(); |
There was a problem hiding this comment.
Another ensureSemantics you can remove.
| 'when receives SemanticsAction.focus while focused but read-only, does not show keyboard', | ||
| (WidgetTester tester) async { | ||
| final semantics = SemanticsTester(tester); | ||
| final SemanticsHandle handle = tester.ensureSemantics(); |
There was a problem hiding this comment.
Another ensureSemantics you can remove.
| await tester.pumpAndSettle(); | ||
| } | ||
|
|
||
| void expectNoCupertinoToolbar() { |
There was a problem hiding this comment.
Nit: Would any of these utils be better inside of text_field_test.dart as private methods? Up to you, just making sure you thought about it.
There was a problem hiding this comment.
Good point they were probably public before because they were shared between material/cupertino. I made the private now. We can always move them if we need to share.
…er#188863) flutter/packages@274ed3e...e742106 2026-07-01 rmolivares@renzo-olivares.dev [cupertino_ui] Re-enable `tab_scaffold_test.dart` (flutter/packages#12064) 2026-07-01 jmccandless@google.com [material_ui] Port flutter/flutter flutter#184808 "Remove semantics_tester import from card_test.dart" (flutter/packages#11965) 2026-07-01 rmolivares@renzo-olivares.dev [cupertino_ui] Migrate `sliding_segmented_control_test.dart` to `SemanticsHandle` (flutter/packages#11979) 2026-07-01 rmolivares@renzo-olivares.dev [cupertino_ui] Migrate `route_test.dart` to `SemanticsHandle` (flutter/packages#11993) 2026-07-01 rmolivares@renzo-olivares.dev [cupertino_ui] Migrate `nav_bar_test.dart` to `SemanticsHandle` (flutter/packages#11980) 2026-07-01 rmolivares@renzo-olivares.dev [cupertino_ui] Migrate `segmented_control_test.dart` to `SemanticsHandle` (flutter/packages#11982) 2026-07-01 rmolivares@renzo-olivares.dev [cupertino_ui] Re-enable `text_field_test.dart` (flutter/packages#12067) 2026-06-30 r.anantheswar@gmail.com [camera_android_camerax] Pass targetVideoEncodingBitRate to Recorder (flutter/packages#11960) 2026-06-30 1063596+reidbaker@users.noreply.github.com [camera_android_camerax] Migrate check-readiness skill from bash to Dart (flutter/packages#11943) 2026-06-30 21270878+elliette@users.noreply.github.com [material_ui] Enable `time_picker_test` (flutter/packages#12061) 2026-06-30 36861262+QuncCccccc@users.noreply.github.com [cupertino_ui] Migrate checkbox_test.dart to SemanticsHandle (flutter/packages#12065) 2026-06-30 64674824+yashas-hm@users.noreply.github.com [image_picker] Handle limit: 1 in pickMultiImage and pickMultipleMedia gracefully (flutter/packages#11825) 2026-06-30 faheemabbas766@gmail.com [cross_file] Document native mimeType behavior (flutter/packages#11662) 2026-06-30 36861262+QuncCccccc@users.noreply.github.com [material_ui] Remove `image_data.dart` imports from `circle_avatar_test.dart`, `color_scheme_test.dart` (flutter/packages#12059) 2026-06-30 36861262+QuncCccccc@users.noreply.github.com [cupertino_ui] Remove `image_data.dart` import from `scaffold_test.dart` (flutter/packages#12060) 2026-06-30 36861262+QuncCccccc@users.noreply.github.com [cupertino_ui] Remove widgets import from menu_anchor_test.dart (flutter/packages#12068) 2026-06-30 21270878+elliette@users.noreply.github.com [material_ui] Enable `checkbox_list_tile_test` (flutter/packages#12007) 2026-06-30 louisehsu@google.com [in_app_purchase_storekit] Expose quantity in Transactions (flutter/packages#11879) 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-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Part of flutter/flutter#182636 and flutter/flutter#188395
This PR:
widgets/semantics_tester.dart. ReplacedSemanticsTesterwithSemanticsHandle.widgets/text_selection_toolbar_utils.dartto our local copy.@Skipannotation, all tests in this file has passed.semantics_tester.darthas existed incupertino_ui, so we can directly importsemantics_tester.dart;test/folder.Pre-Review Checklist
[shared_preferences]///).