mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[driver][ui-tests] AT-2117 Added "Main Toolbar: Check custom icons" test
GitOrigin-RevId: f21f1a1224b7a099877cc64f75ea0e769066bbcd
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3f96f4e941
commit
04fc41ddac
+23
-8
@@ -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()
|
||||
}
|
||||
Reference in New Issue
Block a user