Search in sources :

Example 1 with DialogFixture

use of org.fest.swing.fixture.DialogFixture in project intellij-community by JetBrains.

the class ConfigureProjectSubsetDialogFixture method find.

@NotNull
public static ConfigureProjectSubsetDialogFixture find(@NotNull Robot robot) {
    DialogMatcher matcher = withTitle("Select Modules to Include in Project Subset").andShowing();
    DialogFixture dialog = findDialog(matcher).withTimeout(SHORT_TIMEOUT.duration()).using(robot);
    return new ConfigureProjectSubsetDialogFixture(dialog);
}
Also used : DialogMatcher(org.fest.swing.core.matcher.DialogMatcher) DialogFixture(org.fest.swing.fixture.DialogFixture) NotNull(org.jetbrains.annotations.NotNull)

Example 2 with DialogFixture

use of org.fest.swing.fixture.DialogFixture in project android by JetBrains.

the class AndroidSdkSourceAttachTest method acceptLegalNoticeIfNeeded.

private void acceptLegalNoticeIfNeeded() {
    if (!PropertiesComponent.getInstance().isTrueValue("decompiler.legal.notice.accepted")) {
        DialogFixture acceptTermDialog = findDialog(withTitle("JetBrains Decompiler")).withTimeout(TimeUnit.MINUTES.toMillis(2)).using(guiTest.robot());
        acceptTermDialog.button(withText("Accept")).click();
    }
}
Also used : DialogFixture(org.fest.swing.fixture.DialogFixture)

Example 3 with DialogFixture

use of org.fest.swing.fixture.DialogFixture in project android by JetBrains.

the class ConvertToConstraintLayoutTest method testConvert2.

@Ignore("http://b.android.com/211200")
@Test
public void testConvert2() throws Exception {
    guiTest.importSimpleApplication();
    EditorFixture editor = guiTest.ideFrame().getEditor();
    editor.open("app/src/main/res/layout/frames.xml", EditorFixture.Tab.DESIGN);
    NlEditorFixture layout = editor.getLayoutEditor(false);
    layout.waitForRenderToFinish();
    // Find and click the first text View
    NlComponentFixture button = layout.findView("TextView", 0);
    button.invokeContextMenuAction("Convert LinearLayout to ConstraintLayout");
    // Confirm dialog
    DialogFixture quickFixDialog = WindowFinder.findDialog(Matchers.byTitle(Dialog.class, "Convert to ConstraintLayout")).withTimeout(TimeUnit.MINUTES.toMillis(2)).using(guiTest.robot());
    // Press OK
    JButtonFixture finish = quickFixDialog.button(withText("OK"));
    finish.click();
    // Check that we've converted to what we expected
    layout.waitForRenderToFinish();
    editor.selectEditorTab(EditorFixture.Tab.EDITOR);
    waitForScout();
    editor.invokeAction(EditorFixture.EditorAction.FORMAT);
    @Language("XML") String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + "<android.support.constraint.ConstraintLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" + "    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n" + "    xmlns:tools=\"http://schemas.android.com/tools\"\n" + "    android:id=\"@+id/constraintLayout\"\n" + "    android:layout_width=\"match_parent\"\n" + "    android:layout_height=\"wrap_content\"\n" + "    android:orientation=\"vertical\"\n" + "    tools:layout_editor_absoluteX=\"<test>\"\n" + "    tools:layout_editor_absoluteY=\"<test>\">\n" + "\n" + "    <TextView\n" + "        android:id=\"@+id/title\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:text=\"Welcome\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintRight_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toBottomOf=\"@+id/constraintLayout\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintRight_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    <FrameLayout\n" + "        android:id=\"@+id/attending_remotely\"\n" + "        android:layout_width=\"0dp\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:foreground=\"?android:selectableItemBackground\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintRight_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toBottomOf=\"@+id/constraintLayout\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintRight_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\">\n" + "\n" + "        <ImageView\n" + "            android:layout_width=\"100dp\"\n" + "            android:layout_height=\"100dp\"\n" + "            android:adjustViewBounds=\"true\"\n" + "            android:scaleType=\"centerInside\"\n" + "            app:layout_constraintLeft_toLeftOf=\"@+id/attending_remotely\"\n" + "            tools:layout_constraintLeft_creator=\"1\"\n" + "            tools:layout_editor_absoluteX=\"<test>\"\n" + "            tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "        <TextView\n" + "            android:layout_width=\"wrap_content\"\n" + "            android:layout_height=\"wrap_content\"\n" + "            android:layout_gravity=\"bottom|end|right\"\n" + "            android:text=\"Remotely\"\n" + "            tools:layout_editor_absoluteX=\"<test>\"\n" + "            tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    </FrameLayout>\n" + "\n" + "    <FrameLayout\n" + "        android:id=\"@+id/attending_in_person\"\n" + "        android:layout_width=\"0dp\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:foreground=\"?android:selectableItemBackground\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintRight_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toBottomOf=\"@+id/constraintLayout\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintRight_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\">\n" + "\n" + "        <ImageView\n" + "            android:layout_width=\"100dp\"\n" + "            android:layout_height=\"100dp\"\n" + "            android:adjustViewBounds=\"true\"\n" + "            android:scaleType=\"centerInside\"\n" + "            app:layout_constraintLeft_toLeftOf=\"@+id/attending_in_person\"\n" + "            tools:layout_constraintLeft_creator=\"1\"\n" + "            tools:layout_editor_absoluteX=\"<test>\"\n" + "            tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "        <TextView\n" + "            android:layout_width=\"wrap_content\"\n" + "            android:layout_height=\"wrap_content\"\n" + "            android:layout_gravity=\"bottom|end|right\"\n" + "            android:text=\"In Person\"\n" + "            tools:layout_editor_absoluteX=\"<test>\"\n" + "            tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    </FrameLayout>\n" + "\n" + "</android.support.constraint.ConstraintLayout>\n";
    assertThat(wipeDimensions(editor.getCurrentFileContents())).isEqualTo(wipeDimensions(xml));
}
Also used : JButtonFixture(org.fest.swing.fixture.JButtonFixture) EditorFixture(com.android.tools.idea.tests.gui.framework.fixture.EditorFixture) NlEditorFixture(com.android.tools.idea.tests.gui.framework.fixture.layout.NlEditorFixture) NlEditorFixture(com.android.tools.idea.tests.gui.framework.fixture.layout.NlEditorFixture) DialogFixture(org.fest.swing.fixture.DialogFixture) Language(org.intellij.lang.annotations.Language) NlComponentFixture(com.android.tools.idea.tests.gui.framework.fixture.layout.NlComponentFixture) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 4 with DialogFixture

use of org.fest.swing.fixture.DialogFixture in project android by JetBrains.

the class AndroidSdkSourceAttachTest method testDownloadSdkSource.

@Ignore("failed in http://go/aj/job/studio-ui-test/417 and from IDEA")
@Test
public void testDownloadSdkSource() throws IOException {
    if (mySdkSourcePath.isDirectory()) {
        delete(mySdkSourceTmpPath);
        rename(mySdkSourcePath, mySdkSourceTmpPath);
    }
    updateSdkSourceRoot(mySdk);
    guiTest.importSimpleApplication();
    final EditorFixture editor = guiTest.ideFrame().getEditor();
    final VirtualFile classFile = findActivityClassFile();
    editor.open(classFile, EditorFixture.Tab.EDITOR);
    acceptLegalNoticeIfNeeded();
    // Download the source.
    editor.awaitNotification("Sources for '" + mySdk.getName() + "' not found.").performAction("Download");
    DialogFixture downloadDialog = findDialog(withTitle("SDK Quickfix Installation")).withTimeout(TimeUnit.MINUTES.toMillis(2)).using(guiTest.robot());
    final JButtonFixture finish = downloadDialog.button(withText("Finish"));
    // Wait until installation is finished. By then the "Finish" button will be enabled.
    Wait.seconds(1).expecting("Android source to be installed").until(finish::isEnabled);
    finish.click();
    Wait.seconds(1).expecting("source file to be opened").until(() -> !classFile.equals(editor.getCurrentFile()));
    assertIsActivityJavaFile(editor.getCurrentFile());
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) JButtonFixture(org.fest.swing.fixture.JButtonFixture) EditorFixture(com.android.tools.idea.tests.gui.framework.fixture.EditorFixture) DialogFixture(org.fest.swing.fixture.DialogFixture) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 5 with DialogFixture

use of org.fest.swing.fixture.DialogFixture in project android by JetBrains.

the class ConvertToConstraintLayoutTest method testConvert.

@Ignore("http://b.android.com/211200")
@Test
public void testConvert() throws Exception {
    guiTest.importSimpleApplication();
    EditorFixture editor = guiTest.ideFrame().getEditor();
    editor.open("app/src/main/res/layout/absolute.xml", EditorFixture.Tab.DESIGN);
    NlEditorFixture layout = editor.getLayoutEditor(false);
    layout.waitForRenderToFinish();
    // Find and click the first button
    NlComponentFixture button = layout.findView("Button", 0);
    button.invokeContextMenuAction("Convert AbsoluteLayout to ConstraintLayout");
    // Confirm dialog
    DialogFixture quickFixDialog = WindowFinder.findDialog(Matchers.byTitle(Dialog.class, "Convert to ConstraintLayout")).withTimeout(TimeUnit.MINUTES.toMillis(2)).using(guiTest.robot());
    // Press OK
    JButtonFixture finish = quickFixDialog.button(withText("OK"));
    finish.click();
    // Check that we've converted to what we expected
    layout.waitForRenderToFinish();
    editor.selectEditorTab(EditorFixture.Tab.EDITOR);
    waitForScout();
    editor.invokeAction(EditorFixture.EditorAction.FORMAT);
    @Language("XML") String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + "<android.support.constraint.ConstraintLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" + "    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n" + "    xmlns:tools=\"http://schemas.android.com/tools\"\n" + "    android:id=\"@+id/constraintLayout\"\n" + "    android:layout_width=\"match_parent\"\n" + "    android:layout_height=\"match_parent\"\n" + "    tools:layout_editor_absoluteX=\"<test>\"\n" + "    tools:layout_editor_absoluteY=\"<test>\">\n" + "\n" + "    <Button\n" + "        android:id=\"@+id/button\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:layout_marginStart=\"<test>\"\n" + "        android:layout_marginTop=\"<test>\"\n" + "        android:text=\"Button\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toTopOf=\"@+id/constraintLayout\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    <Button\n" + "        android:id=\"@+id/button2\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:layout_marginStart=\"<test>\"\n" + "        android:text=\"Button\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/button\"\n" + "        app:layout_constraintTop_toBottomOf=\"@+id/button\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    <EditText\n" + "        android:id=\"@+id/editText\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:layout_marginBottom=\"<test>\"\n" + "        android:layout_marginEnd=\"<test>\"\n" + "        android:layout_marginTop=\"<test>\"\n" + "        android:ems=\"10\"\n" + "        android:inputType=\"textPersonName\"\n" + "        android:text=\"Name\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/button6\"\n" + "        app:layout_constraintRight_toRightOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toTopOf=\"@+id/constraintLayout\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintRight_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "\n" + "    <Button\n" + "        android:id=\"@+id/button3\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:layout_marginStart=\"<test>\"\n" + "        android:text=\"Button\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/button5\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toTopOf=\"@+id/button5\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    <Button\n" + "        android:id=\"@+id/button5\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:layout_marginBottom=\"<test>\"\n" + "        android:text=\"Button\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintLeft_toLeftOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintRight_toRightOf=\"@+id/constraintLayout\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintLeft_creator=\"1\"\n" + "        tools:layout_constraintRight_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "    <Button\n" + "        android:id=\"@+id/button6\"\n" + "        android:layout_width=\"wrap_content\"\n" + "        android:layout_height=\"wrap_content\"\n" + "        android:layout_marginEnd=\"<test>\"\n" + "        android:text=\"Button\"\n" + "        app:layout_constraintBottom_toBottomOf=\"@+id/button5\"\n" + "        app:layout_constraintRight_toRightOf=\"@+id/constraintLayout\"\n" + "        app:layout_constraintTop_toTopOf=\"@+id/button5\"\n" + "        tools:layout_constraintBottom_creator=\"1\"\n" + "        tools:layout_constraintRight_creator=\"1\"\n" + "        tools:layout_constraintTop_creator=\"1\"\n" + "        tools:layout_editor_absoluteX=\"<test>\"\n" + "        tools:layout_editor_absoluteY=\"<test>\" />\n" + "\n" + "</android.support.constraint.ConstraintLayout>\n" + "\n";
    assertThat(wipeDimensions(editor.getCurrentFileContents())).isEqualTo(wipeDimensions(xml));
}
Also used : JButtonFixture(org.fest.swing.fixture.JButtonFixture) EditorFixture(com.android.tools.idea.tests.gui.framework.fixture.EditorFixture) NlEditorFixture(com.android.tools.idea.tests.gui.framework.fixture.layout.NlEditorFixture) NlEditorFixture(com.android.tools.idea.tests.gui.framework.fixture.layout.NlEditorFixture) DialogFixture(org.fest.swing.fixture.DialogFixture) Language(org.intellij.lang.annotations.Language) NlComponentFixture(com.android.tools.idea.tests.gui.framework.fixture.layout.NlComponentFixture) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

DialogFixture (org.fest.swing.fixture.DialogFixture)5 EditorFixture (com.android.tools.idea.tests.gui.framework.fixture.EditorFixture)3 JButtonFixture (org.fest.swing.fixture.JButtonFixture)3 Ignore (org.junit.Ignore)3 Test (org.junit.Test)3 NlComponentFixture (com.android.tools.idea.tests.gui.framework.fixture.layout.NlComponentFixture)2 NlEditorFixture (com.android.tools.idea.tests.gui.framework.fixture.layout.NlEditorFixture)2 Language (org.intellij.lang.annotations.Language)2 VirtualFile (com.intellij.openapi.vfs.VirtualFile)1 DialogMatcher (org.fest.swing.core.matcher.DialogMatcher)1 NotNull (org.jetbrains.annotations.NotNull)1