Search in sources :

Example 1 with Condition

use of org.assertj.swing.timing.Condition in project jabref by JabRef.

the class IdFetcherDialogTest method testFetcherDialog.

@Test
public void testFetcherDialog() {
    mainFrame.menuItemWithPath("File", "New " + databaseMode + " database").click();
    JTableFixture entryTable = mainFrame.table();
    entryTable.requireRowCount(0);
    mainFrame.menuItemWithPath("BibTeX", "New entry...").click();
    GenericTypeMatcher<JDialog> matcher = new GenericTypeMatcher<JDialog>(JDialog.class) {

        @Override
        protected boolean isMatching(JDialog dialog) {
            return "Select entry type".equals(dialog.getTitle());
        }
    };
    findDialog(matcher).withTimeout(10_000).using(robot()).comboBox(new GenericTypeMatcher<JComboBox>(JComboBox.class) {

        @Override
        protected boolean isMatching(@Nonnull JComboBox component) {
            return true;
        }
    }).selectItem(fetcherType);
    findDialog(matcher).withTimeout(10_000).using(robot()).textBox(new GenericTypeMatcher<JTextComponent>(JTextComponent.class) {

        @Override
        protected boolean isMatching(@Nonnull JTextComponent component) {
            return true;
        }
    }).enterText(fetchID);
    findDialog(matcher).withTimeout(10_000).using(robot()).button(new GenericTypeMatcher<JButton>(JButton.class) {

        @Override
        protected boolean isMatching(@Nonnull JButton jButton) {
            return "Generate".equals(jButton.getText());
        }
    }).click();
    pause(new Condition("entrySize") {

        @Override
        public boolean test() {
            return entryTable.rowCount() == 1;
        }
    }, 10_000);
    entryTable.requireRowCount(1);
}
Also used : Condition(org.assertj.swing.timing.Condition) JTableFixture(org.assertj.swing.fixture.JTableFixture) JComboBox(javax.swing.JComboBox) Nonnull(org.assertj.swing.dependency.jsr305.Nonnull) JButton(javax.swing.JButton) JTextComponent(javax.swing.text.JTextComponent) GenericTypeMatcher(org.assertj.swing.core.GenericTypeMatcher) JDialog(javax.swing.JDialog) Test(org.junit.Test)

Aggregations

JButton (javax.swing.JButton)1 JComboBox (javax.swing.JComboBox)1 JDialog (javax.swing.JDialog)1 JTextComponent (javax.swing.text.JTextComponent)1 GenericTypeMatcher (org.assertj.swing.core.GenericTypeMatcher)1 Nonnull (org.assertj.swing.dependency.jsr305.Nonnull)1 JTableFixture (org.assertj.swing.fixture.JTableFixture)1 Condition (org.assertj.swing.timing.Condition)1 Test (org.junit.Test)1