cacheBox.addItem(testInput);
cacheBox.setSelectedItem(testInput);
cacheBox.updateCache();
-
- try
+ boolean done[]=new boolean[] { false };
+ // this event gets processed after updateCache's update event on the swing
+ // thread
+ SwingUtilities.invokeLater(() -> {
+ done[0]=true;
+ });
+ long t=0;
+ while (!done[0] && t<200)
{
- // fix for JAL-4153
- // This delay is to let cacheBox.updateCache() finish updating the cache
- SwingUtilities.invokeAndWait(() -> {
- try
- {
- Thread.sleep(1);
+ try {
+ Thread.sleep(7);
+ t++;
} catch (InterruptedException e)
{
e.printStackTrace();
}
- });
- } catch (InvocationTargetException | InterruptedException e)
+ }
+ if (!done[0])
{
- e.printStackTrace();
+ Assert.fail("Giving up after 1.4s waiting for cache to be updated.");
}
+
LinkedHashSet<String> foundCache = appCache
.getAllCachedItemsFor(TEST_CACHE_KEY);
Assert.assertTrue(foundCache.contains(testInput));