Olivier Patry
05/23/2025, 4:39 PMonNodeWithText("Tools").assertIsDisplayed()
This fails ("Tools" being one of the MenuBar's root Menu).
I'm running on macOS if that matters (given how the macOS menu are managed vs app Window, it could)
(See code in thread 🧵)Olivier Patry
05/23/2025, 4:39 PM@Test
fun `when clicking on show network logs then should trigger callback`() = runComposeUiTest {
var isNetworkLogClicked = false
setContent {
Window(
onCloseRequest = {},
title = "Test",
) {
AppMenuBar(
onNetworkLogClick = { isNetworkLogClicked = true }
)
}
}
onNodeWithText("Tools")
.assertIsDisplayed()
.performClick()
onNodeWithText("Show network logs")
.assertIsDisplayed()
.performClick()
}
Olivier Patry
05/23/2025, 4:41 PM@Composable
fun FrameWindowScope.AppMenuBar(
onNetworkLogClick: () -> Unit,
) {
MenuBar {
Menu("Tools", mnemonic = 'T') {
Item(
text = "Show network logs",
shortcut = when (currentOS) {
OS.Mac -> KeyShortcut(key = Key.L, meta = true, shift = true)
OS.Linux,
OS.Windows -> KeyShortcut(key = Key.L, ctrl = true, shift = true)
},
onClick = onNetworkLogClick
)
}
}
}
Alexander Maryanovsky
05/26/2025, 7:24 AMOlivier Patry
05/26/2025, 6:14 PM