Skip to content

rom tests: IME harness stubs follow the pinned makepad - #483

Merged
ymote merged 1 commit into
mainfrom
fix/ime-handoff-test-stubs
Oct 11, 2026
Merged

ymote merged 1 commit into
mainfrom
fix/ime-handoff-test-stubs

Conversation

@ymote

@ymote ymote commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Two rom/tests/test_android_ime_handoff.py tests splice methods from the pinned makepad (d653bc44) into small Rust harnesses and compile them with rustc. The pin moved and the stubs did not:

  • TextInput::set_text now ends with check_text_is_empty(cx, Animate::Yes); the harness stub took one argument and had no Animate.
  • The Android ShowTextIME arm clears self.os.pending_ime_hide; the harness's Os had no such field.

So test_real_editor_setters_sync_once_before_later_input and test_real_android_dispatch_revalidates_keyboard_dismissal failed to compile wherever the pinned sources are checked out (.sources/), which is every local CI run of rom.yml's product job. GitHub's runner has no such checkout, so the tests skip there and the failure went unseen.

The editor-sync harness gains an Animate enum and the two-argument stub; the IME-visibility harness gains the pending_ime_hide field and now also checks that a show cancels a pending hide, as the real arm does. No change to the shell or the phone.

Checks

  • python3 -m unittest tests.test_android_ime_handoff -v from rom/ with JDK 17 on PATH and the pinned sources present: 6/6 pass (before: 2 errors).
  • python3 -m unittest discover -s tests from rom/: 101 tests, OK.
  • Local CI: tools/ci-local.sh --only rom on c44f829 (Mac, JDK 17, node 24, Android SDK on PATH): 10 passed, 0 failed, 0 skipped, including the product job's unittest discover.

Found while gating #477, whose local Mac run fails on this step until it lands.

🤖 Generated with Claude Code

Two `test_android_ime_handoff` tests splice methods from the pinned makepad
into small Rust harnesses and compile them with rustc. The pin moved and
the stubs did not: `set_text` now ends with
`check_text_is_empty(cx, Animate::Yes)`, and the `ShowTextIME` arm clears
`self.os.pending_ime_hide`, so both harnesses failed to compile wherever
the pinned sources are checked out (GitHub's runner has none, so the tests
skipped there and the failure went unseen).

The editor-sync harness gains an `Animate` enum and the two-argument stub;
the IME-visibility harness gains the `pending_ime_hide` field and checks
that a show cancels a pending hide, as the real arm does.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ymote
ymote force-pushed the fix/ime-handoff-test-stubs branch from c44f829 to 284af8f Compare October 11, 2026 05:57
@ymote

ymote commented Oct 11, 2026

Copy link
Copy Markdown
Contributor Author

Local CI passed on 284af8f (tools/ci-local.sh --only rom, 2m31s, Darwin arm64).

GitHub would run for this PR: rom.yml. Merged on this local pass (macOS runner queue); GitHub CI runs on the merge commit on main.

Job Step Result Time
ci-local / drift The local mapping fits the workflows PASS -
rom.yml / product python3 -m unittest discover -s tests -v PASS 2m02s
rom.yml / product Check generated Agent Binder client PASS 0s
rom.yml / product bash -n scripts/stage-forks.sh scripts/publish-release.sh scripts/apply-to-tree.sh scripts/build-rom.sh PASS -
rom.yml / web-installer npm ci --ignore-scripts --no-audit --no-fund PASS 17s
rom.yml / web-installer npm test PASS 2s
rom.yml / web-installer npx playwright install --with-deps chromium PASS 2s
rom.yml / web-installer npm run test:browser PASS 8s
rom.yml / web-installer python3 -m unittest discover -s tests -p test_installer_manifest.py -v PASS 0s
rom.yml / web-installer bash -n scripts/release.sh PASS 0s

Notes:

  • GitHub runs Python 3.12; this run used Python 3.9.6

@ymote
ymote merged commit 07b63da into main Oct 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant