From 04fc41ddacf28ed3bad62668b1f59cec89fb34c8 Mon Sep 17 00:00:00 2001 From: "Artem.Grigorash" Date: Mon, 28 Apr 2025 18:45:59 +0300 Subject: [PATCH] [driver][ui-tests] AT-2117 Added "Main Toolbar: Check custom icons" test GitOrigin-RevId: f21f1a1224b7a099877cc64f75ea0e769066bbcd --- ...ingToolbarDialog.kt => CustomizeDialog.kt} | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) rename platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/{CustomizeFloatingToolbarDialog.kt => CustomizeDialog.kt} (50%) diff --git a/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/CustomizeFloatingToolbarDialog.kt b/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/CustomizeDialog.kt similarity index 50% rename from platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/CustomizeFloatingToolbarDialog.kt rename to platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/CustomizeDialog.kt index 9113a7abf709..bc5b6a5dc778 100644 --- a/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/CustomizeFloatingToolbarDialog.kt +++ b/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/ui/components/common/dialogs/CustomizeDialog.kt @@ -3,14 +3,19 @@ package com.intellij.driver.sdk.ui.components.common.dialogs import com.intellij.driver.sdk.ui.Finder import com.intellij.driver.sdk.ui.components.ComponentData import com.intellij.driver.sdk.ui.components.elements.* -import com.intellij.driver.sdk.ui.shouldBe +import com.intellij.driver.sdk.ui.should import com.intellij.driver.sdk.ui.xQuery +import java.awt.Point -fun Finder.customizeFloatingToolbarDialog(action: CustomizeFloatingToolbarDialog.() -> Unit) { - x(xQuery { byTitle("Customize Floating Code Toolbar") }, CustomizeFloatingToolbarDialog::class.java).action() +fun Finder.customizeFloatingToolbarDialog(action: CustomizeDialog.() -> Unit) { + x(xQuery { byTitle("Customize Floating Code Toolbar") }, CustomizeDialog::class.java).action() } -class CustomizeFloatingToolbarDialog(data: ComponentData) : DialogUiComponent(data) { +fun Finder.customizeMainToolbarDialog(action: CustomizeDialog.() -> Unit) { + x(xQuery { byTitle("Customize Main Toolbar") }, CustomizeDialog::class.java).action() +} + +class CustomizeDialog(data: ComponentData) : DialogUiComponent(data) { val addButton = button("Add…") fun addAction(actionName: String, customIcon: String? = null, vararg node: String) { @@ -18,12 +23,22 @@ class CustomizeFloatingToolbarDialog(data: ComponentData) : DialogUiComponent(da addButton.click() dialog(xQuery { byTitle("Add Action") }) { textField(xQuery { byAccessibleName("Message text filter") }).appendText(actionName) - shouldBe("${actionName} action is highlighted") { - tree().collectSelectedPaths().single().path.last().contains(actionName.split(" ").first()) + tree().should("${actionName} action is highlighted") { + collectSelectedPaths().single().path.last().contains(actionName.split(" ").first()) } if (customIcon != null) { - x(xQuery { byClass("BasicArrowButton") }).click() - list().clickItem(customIcon) + if (customIcon.contains("/")) { + val arrowButton = x(xQuery { byClass("BasicArrowButton") }) + arrowButton.click(Point(-arrowButton.component.width / 2, arrowButton.component.height / 2)) + dialog(title = "Browse Icon") { + textField().text = customIcon + okButton.click() + } + } + else { + x { byClass("BasicArrowButton") }.click() + list().clickItem(customIcon) + } } button("OK").click() }