Interface

KeyInjectionScope

The receiver scope of the key input injection lambda from [performKeyInput].

keyInputClick

fun keyInputClick() {
    var counter = 0
    val focusRequester = FocusRequester()
    lateinit var inputModeManager: InputModeManager
    composeTestRule.setContent {
        inputModeManager = LocalInputModeManager.current
        BasicText(
            "ClickableText",
            modifier =
                Modifier.testTag("myClickable").focusRequester(focusRequester).clickable {
                    counter++
                },
        )
    }
    composeTestRule.runOnIdle {
        inputModeManager.requestInputMode(Keyboard)
        focusRequester.requestFocus()
    }
    composeTestRule.onNodeWithTag("myClickable").performKeyInput { keyDown(Key.Enter) }
    composeTestRule.runOnIdle { assert(counter == 0) }
    composeTestRule.onNodeWithTag("myClickable").performKeyInput { keyUp(Key.Enter) }
    composeTestRule.runOnIdle { assert(counter == 1) }
}