Ticket #15539: v1-0006-MinimapDialogTest-make-use-of-Awaitility-to-replace-.patch

File v1-0006-MinimapDialogTest-make-use-of-Awaitility-to-replace-.patch, 3.4 KB (added by ris, 9 years ago)
  • test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java

    From 817b3c0c094af6201cf2f32e95980e4e07a58ab0 Mon Sep 17 00:00:00 2001
    From: Robert Scott <code@humanleg.org.uk>
    Date: Sat, 11 Nov 2017 21:33:40 +0000
    Subject: [PATCH 6/6] MinimapDialogTest: make use of Awaitility to replace
     calls to Thread.sleep()
    
    this commit depends on awaitility-3.0.0.jar being present in test/lib/
    ---
     .../josm/gui/dialogs/MinimapDialogTest.java          | 20 +++++++++++++++-----
     1 file changed, 15 insertions(+), 5 deletions(-)
    
    diff --git a/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java b/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
    index 3635b3448..2fbb0a1fb 100644
    a b import static org.junit.Assert.assertFalse;  
    66import static org.junit.Assert.assertTrue;
    77import static org.junit.Assert.fail;
    88
     9import static java.util.concurrent.TimeUnit.MILLISECONDS;
     10
    911import java.awt.Color;
    1012import java.awt.Component;
    1113import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;  
    1416import javax.swing.JMenuItem;
    1517import javax.swing.JPopupMenu;
    1618
     19import java.util.concurrent.Callable;
     20
    1721import org.junit.Rule;
    1822import org.junit.Test;
    1923import org.openstreetmap.josm.Main;
    import org.openstreetmap.josm.testutils.JOSMTestRules;  
    2428
    2529import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
    2630
     31import org.awaitility.Awaitility;
     32
    2733/**
    2834 * Unit tests of {@link MinimapDialog} class.
    2935 */
    public class MinimapDialogTest {  
    119125        this.slippyMap.paintAll(g);
    120126    }
    121127
     128    protected Callable<Boolean> slippyMapTasksFinished() {
     129        return () -> !this.slippyMap.getTileController().getTileLoader().hasOutstandingTasks();
     130    }
     131
    122132    /**
    123133     * Tests to switch imagery source.
    124134     * @throws Exception if any error occurs
    public class MinimapDialogTest {  
    133143        // an initial paint operation is required to trigger the tile fetches
    134144        this.paintSlippyMap();
    135145
    136         Thread.sleep(500);
     146        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
    137147
    138148        this.paintSlippyMap();
    139149
    public class MinimapDialogTest {  
    146156        // call paint to trigger new tile fetch
    147157        this.paintSlippyMap();
    148158
    149         Thread.sleep(500);
     159        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
    150160
    151161        this.paintSlippyMap();
    152162
    public class MinimapDialogTest {  
    157167        // call paint to trigger new tile fetch
    158168        this.paintSlippyMap();
    159169
    160         Thread.sleep(500);
     170        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
    161171
    162172        this.paintSlippyMap();
    163173
    public class MinimapDialogTest {  
    181191        // an initial paint operation is required to trigger the tile fetches
    182192        this.paintSlippyMap();
    183193
    184         Thread.sleep(500);
     194        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
    185195
    186196        this.paintSlippyMap();
    187197
    public class MinimapDialogTest {  
    208218        // an initial paint operation is required to trigger the tile fetches
    209219        this.paintSlippyMap();
    210220
    211         Thread.sleep(500);
     221        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
    212222
    213223        this.paintSlippyMap();
    214224