Skip to content

Add integration tests for IME input #102101

@cbracken

Description

@cbracken

Our text input integration testing doesn't cover IME-based input such as for Chinese, Japanese, and Korean. At the moment, this is covered by non-platform-specific unit tests.

We should include tests that:

  1. Set the input method to an IME-based input method.
  2. Send a sequence of key events such that are handled by the IME.
  3. Verify the text editing contents, in particular, the composing region.

A few things to test:

  • Ensure arrow cursor movement is restricted to the composing region when composing (in Chinese/Japanese)
  • Test composing in Flutter, then switching to a non-Flutter textfield, composing there, and switching back to flutter. See [macOS] Fix IME input issue caused on FlutterTextInputPlugin dealloc. engine#31879.
  • Ensure backspace handling is correct while composing.
  • Ensure Escape key handling is correct.
  • Verify keyboard navigation of candidates menu is possible (and not captured by Flutter).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: desktopRunning on desktopa: tests"flutter test", flutter_test, or one of our testsa: text inputEntering text in a text field or keyboard related problemsengineflutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyplatform-macBuilding on or for macOS specificallyplatform-windowsBuilding on or for Windows specificallyteam-text-inputOwned by Text Input teamtriaged-text-inputTriaged by Text Input team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions