Omkar Amberkar
@OptIn(ExperimentalTestApi::class) @RunWith(AndroidJUnit4::class) class TvPlayerKeyEventModifiersKtTest { @get:Rule val rule = createComposeRule() @Test fun `It maps player key events correctly`() { val isActionUpDpadUpInvoked = MutableStateFlow(false) rule.setContent { val focusRequester = FocusRequester() Box( modifier = Modifier .handlePlayerKeyEvent( onActionUpDpadUp = { isActionUpDpadUpInvoked.value = true } ) .focusRequester(focusRequester) .focusable() .testTag("test") ) LaunchedEffect(Unit) { focusRequester.requestFocus() } } rule.onNodeWithTag("test") .assertIsDisplayed() .assertIsFocused() rule.onRoot().performKeyInput { pressKey(Key.DirectionUp) } assertThat(isActionUpDpadUpInvoked.value).isTrue() } }
fun Modifier.handlePlayerKeyEvent( onActionUpDpadUp: (() -> Unit)? = null, )
java.lang.AssertionError: Assert failed: The component is not displayed!
Zach Klippenstein (he/him) [MOD]
.size(1.dp)
A modern programming language that makes developers happier.