Executes the key input gesture specified in the given [block].
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) }
}