X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FProgressBarTest.java;h=a77942c070a37a7ed668fbb2c71ea1e2c4bdbd42;hb=db198a0eadd949de630aeef94c98321ffb6473f9;hp=4346420ba25929aac1a690284b11b0f705809389;hpb=8f118c154e74caaef6bec19acd0466904ac424d4;p=jalview.git diff --git a/test/jalview/gui/ProgressBarTest.java b/test/jalview/gui/ProgressBarTest.java index 4346420..a77942c 100644 --- a/test/jalview/gui/ProgressBarTest.java +++ b/test/jalview/gui/ProgressBarTest.java @@ -29,13 +29,22 @@ import java.awt.GridLayout; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.SwingUtilities; import org.testng.Assert; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class ProgressBarTest { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + private JPanel statusPanel; private JLabel statusBar; @@ -111,18 +120,33 @@ public class ProgressBarTest * @param layout * @param msgs */ - private void verifyProgress(GridLayout layout, String[] msgs) + private void verifyProgress(final GridLayout layout, final String[] msgs) { - int msgCount = msgs.length; - assertEquals(1 + msgCount, layout.getRows()); - assertEquals(msgCount, statusPanel.getComponentCount()); - int i = 0; - for (Component c : statusPanel.getComponents()) + try + { + SwingUtilities.invokeAndWait(new Runnable() + { + @Override + public void run() + { + int msgCount = msgs.length; + assertEquals(1 + msgCount, layout.getRows()); + assertEquals(msgCount, statusPanel.getComponentCount()); + int i = 0; + for (Component c : statusPanel.getComponents()) + { + assertTrue(c instanceof JPanel); + assertTrue(((JPanel) c).getComponent(0) instanceof JLabel); + assertEquals(msgs[i++], + ((JLabel) ((JPanel) c).getComponent(0)).getText()); + } + } + }); + } catch (Exception e) { - assertTrue(c instanceof JPanel); - assertTrue(((JPanel) c).getComponent(0) instanceof JLabel); - assertEquals(msgs[i++], - ((JLabel) ((JPanel) c).getComponent(0)).getText()); + throw new AssertionError( + "Unexpected exception waiting for progress bar validation", + e); } } }