Skip to content

[cupertino_ui] Re-enable text_field_test.dart#12067

Merged
auto-submit[bot] merged 7 commits into
flutter:mainfrom
Renzo-Olivares:cupertino_ui_text_field_test_enable
Jul 1, 2026
Merged

[cupertino_ui] Re-enable text_field_test.dart#12067
auto-submit[bot] merged 7 commits into
flutter:mainfrom
Renzo-Olivares:cupertino_ui_text_field_test_enable

Conversation

@Renzo-Olivares

Copy link
Copy Markdown
Contributor

Part of flutter/flutter#182636 and flutter/flutter#188395

This PR:

  • Removed the cross-import of widgets/semantics_tester.dart. Replaced SemanticsTester with SemanticsHandle.
  • Copy/paste helper methods from widgets/text_selection_toolbar_utils.dart to our local copy.
  • Removed @Skip annotation, all tests in this file has passed. semantics_tester.dart has existed in cupertino_ui, so we can directly import semantics_tester.dart;
  • Moved the file to test/ folder.

Pre-Review Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools.
  • I read the [Tree Hygiene] page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran [the auto-formatter].
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I [linked to at least one issue that this PR fixes] in the description above.
  • I followed [the version and CHANGELOG instructions], using [semantic versioning] and the [repository CHANGELOG style], or I have commented below to indicate which documented exception this PR falls under[^1].
  • I updated/added any relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or I have commented below to indicate which [test exemption] this PR falls under[^1].
  • All existing and new tests are passing.

Renzo Olivares added 4 commits June 29, 2026 23:42
Add missing helper functions from the Flutter framework to support text field tests.

TAG=agy
CONV=eaf9ac41-f14c-4263-8856-55084f46e5db
Remove @Skip and move the file from temporarily_disabled_tests/ to test/.

TAG=agy
CONV=eaf9ac41-f14c-4263-8856-55084f46e5db
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Jun 30, 2026
@github-actions github-actions Bot added triage-framework Should be looked at in framework triage p: cupertino_ui labels Jun 30, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions github-actions Bot removed the CICD Run CI/CD label Jun 30, 2026

@justinmc justinmc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍. So much more compact without TestSemantics!

WidgetTester tester,
) async {
final semantics = SemanticsTester(tester);
final SemanticsHandle handle = tester.ensureSemantics();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another ensureSemantics you can remove.

WidgetTester tester,
) async {
final semantics = SemanticsTester(tester);
final SemanticsHandle handle = tester.ensureSemantics();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another ensureSemantics you can remove.

WidgetTester tester,
) async {
final semantics = SemanticsTester(tester);
final SemanticsHandle handle = tester.ensureSemantics();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another ensureSemantics you can remove.

WidgetTester tester,
) async {
final semantics = SemanticsTester(tester);
final SemanticsHandle handle = tester.ensureSemantics();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another ensureSemantics you can remove.

await tester.pumpAndSettle();
}

void expectNoCupertinoToolbar() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Renzo-Olivares Renzo-Olivares added the CICD Run CI/CD label Jun 30, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Jun 30, 2026
@Renzo-Olivares Renzo-Olivares added CICD Run CI/CD autosubmit Merge PR when tree becomes green via auto submit App labels Jun 30, 2026
@auto-submit auto-submit Bot merged commit 7a9c621 into flutter:main Jul 1, 2026
88 checks passed
pull Bot pushed a commit to safarmer/flutter that referenced this pull request Jul 1, 2026
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD p: cupertino_ui triage-framework Should be looked at in framework triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants