+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io.cache;
+import java.lang.reflect.InvocationTargetException;
import java.util.LinkedHashSet;
+import javax.swing.SwingUtilities;
+
import org.junit.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
try
{
- // This 1ms delay is essential to prevent the
- // assertion below from executing before
- // swing thread finishes updating the combo-box
- Thread.sleep(100);
- } catch (InterruptedException e)
+ // fix for JAL-4153
+ // This delay is essential to prevent the assertion below from executing
+ // before swing thread finishes updating the combo-box
+ SwingUtilities.invokeAndWait(() -> {
+ try
+ {
+ Thread.sleep(1);
+ } catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ });
+ } catch (InvocationTargetException | InterruptedException e)
{
e.printStackTrace();
}
cacheBox.addItem(testInput);
cacheBox.setSelectedItem(testInput);
cacheBox.updateCache();
+
try
{
- // This delay is to let
- // cacheBox.updateCache() finish updating the cache
- Thread.sleep(200);
- } catch (InterruptedException e)
+ // fix for JAL-4153
+ // This delay is to let cacheBox.updateCache() finish updating the cache
+ SwingUtilities.invokeAndWait(() -> {
+ try
+ {
+ Thread.sleep(1);
+ } catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ });
+ } catch (InvocationTargetException | InterruptedException e)
{
e.printStackTrace();
}