From 8c0781bd3e7988f6f12e82d63c165bc4cdd54a49 Mon Sep 17 00:00:00 2001 From: Sergey Karashevich Date: Thu, 24 Nov 2016 19:46:02 +0300 Subject: [PATCH] [gui-test] added waiting for FileChooserDialog until JTextField will be filled --- .../fixtures/FileChooserDialogFixture.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/platform/testGuiFramework/src/com/intellij/testGuiFramework/fixtures/FileChooserDialogFixture.java b/platform/testGuiFramework/src/com/intellij/testGuiFramework/fixtures/FileChooserDialogFixture.java index e3ead9736bcd..2913b4da33c0 100644 --- a/platform/testGuiFramework/src/com/intellij/testGuiFramework/fixtures/FileChooserDialogFixture.java +++ b/platform/testGuiFramework/src/com/intellij/testGuiFramework/fixtures/FileChooserDialogFixture.java @@ -18,12 +18,15 @@ package com.intellij.testGuiFramework.fixtures; import com.intellij.openapi.fileChooser.ex.FileChooserDialogImpl; import com.intellij.openapi.fileChooser.ex.FileSystemTreeImpl; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.testGuiFramework.framework.GuiTestUtil; import org.fest.swing.core.GenericTypeMatcher; import org.fest.swing.core.Robot; import org.fest.swing.edt.GuiTask; +import org.fest.swing.fixture.JTextComponentFixture; import org.fest.swing.timing.Condition; import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import javax.swing.*; import javax.swing.tree.TreePath; import java.util.concurrent.atomic.AtomicBoolean; @@ -39,6 +42,8 @@ import static org.junit.Assert.assertNotNull; public class FileChooserDialogFixture extends IdeaDialogFixture { TreePath myTargetPath; + private JTextComponentFixture myJTextFieldFixture; + @NotNull public static FileChooserDialogFixture findOpenProjectDialog(@NotNull Robot robot) { @@ -109,6 +114,30 @@ public class FileChooserDialogFixture extends IdeaDialogFixture(JTextField.class, true) { + @Override + protected boolean isMatching(@Nonnull JTextField field) { + return true; + } + }); + myJTextFieldFixture = new JTextComponentFixture(robot(), textField); + } + return myJTextFieldFixture; + + } + + public FileChooserDialogFixture waitFilledTextField(){ + pause(new Condition("Wait until JTextField component will be filled by default path") { + @Override + public boolean test() { + return !getTextFieldFixture().text().isEmpty(); + } + }, GuiTestUtil.THIRTY_SEC_TIMEOUT); + return this; + } + @NotNull public FileChooserDialogFixture clickOk() { findAndClickOkButton(this);