Ticket #12977: patch-tests-use-rules-NavigatableComponentTest.patch

File patch-tests-use-rules-NavigatableComponentTest.patch, 4.6 KB (added by michael2402, 9 years ago)
  • test/unit/org/openstreetmap/josm/actions/AddImageryLayerActionTest.java

    diff --git a/test/unit/org/openstreetmap/josm/actions/AddImageryLayerActionTest.java b/test/unit/org/openstreetmap/josm/actions/AddImageryLayerActionTest.java
    index 2964707..7c9ee79 100644
    a b import org.openstreetmap.josm.gui.layer.TMSLayer;  
    1515import org.openstreetmap.josm.gui.layer.WMSLayer;
    1616import org.openstreetmap.josm.testutils.JOSMTestRules;
    1717
     18import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
     19
    1820/**
    1921 * Unit tests for class {@link AddImageryLayerAction}.
    2022 */
    public final class AddImageryLayerActionTest {  
    2325     * We need prefs for this. We need platform for actions and the OSM API for checking blacklist.
    2426     */
    2527    @Rule
     28    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
    2629    public JOSMTestRules test = new JOSMTestRules().preferences().platform().fakeAPI();
    2730
    2831    /**
  • test/unit/org/openstreetmap/josm/gui/NavigatableComponentTest.java

    diff --git a/test/unit/org/openstreetmap/josm/gui/NavigatableComponentTest.java b/test/unit/org/openstreetmap/josm/gui/NavigatableComponentTest.java
    index 2d8bad6..a51074d 100644
    a b import javax.swing.JFrame;  
    1212
    1313import org.CustomMatchers;
    1414import org.junit.Before;
    15 import org.junit.BeforeClass;
     15import org.junit.Rule;
    1616import org.junit.Test;
    17 import org.openstreetmap.josm.JOSMFixture;
    1817import org.openstreetmap.josm.Main;
    1918import org.openstreetmap.josm.data.Bounds;
    2019import org.openstreetmap.josm.data.ProjectionBounds;
    2120import org.openstreetmap.josm.data.coor.EastNorth;
    2221import org.openstreetmap.josm.data.coor.LatLon;
    2322import org.openstreetmap.josm.gui.util.GuiHelper;
     23import org.openstreetmap.josm.testutils.JOSMTestRules;
     24
     25import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
    2426
    2527/**
    2628 * Some tests for the {@link NavigatableComponent} class.
    public class NavigatableComponentTest {  
    3436    private NavigatableComponent component;
    3537
    3638    /**
    37      * Setup test.
     39     *
    3840     */
    39     @BeforeClass
    40     public static void setUpBeforeClass() {
    41         JOSMFixture.createUnitTestFixture().init();
    42     }
     41    @Rule
     42    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
     43    public JOSMTestRules test = new JOSMTestRules().preferences().platform().projection();
    4344
    4445    /**
    4546     * Create a new, fresh {@link NavigatableComponent}
  • test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java

    diff --git a/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java b/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java
    index 7ca2b75..2531d0e 100644
    a b import org.junit.runner.Description;  
    1111import org.junit.runners.model.InitializationError;
    1212import org.junit.runners.model.Statement;
    1313import org.openstreetmap.josm.Main;
     14import org.openstreetmap.josm.data.projection.Projections;
    1415import org.openstreetmap.josm.gui.layer.MainLayerManager;
    1516import org.openstreetmap.josm.gui.util.GuiHelper;
    1617import org.openstreetmap.josm.io.OsmApi;
    public class JOSMTestRules implements TestRule {  
    3435    private APIType useAPI = APIType.NONE;
    3536    private String i18n = null;
    3637    private boolean platform;
     38    private boolean useProjection;
    3739
    3840    /**
    3941     * Disable the default timeout for this test. Use with care.
    public class JOSMTestRules implements TestRule {  
    119121        return this;
    120122    }
    121123
     124    /**
     125     * Set up default projection (Mercator)
     126     * @return this instance, for easy chaining
     127     */
     128    public JOSMTestRules projection() {
     129        useProjection = true;
     130        return this;
     131    }
     132
    122133    @Override
    123134    public Statement apply(final Statement base, Description description) {
    124135        Statement statement = new Statement() {
    public class JOSMTestRules implements TestRule {  
    173184            Main.pref.put("osm-server.url", "http://invalid");
    174185        }
    175186
     187        if (useProjection) {
     188            Main.setProjection(Projections.getProjectionByCode("EPSG:3857")); // Mercator
     189        }
     190
    176191        // Set API
    177192        if (useAPI == APIType.DEV) {
    178193            Main.pref.put("osm-server.url", "http://api06.dev.openstreetmap.org/api");
    public class JOSMTestRules implements TestRule {  
    213228        }
    214229
    215230        // TODO: Remove global listeners and other global state.
    216 
    217231        Main.pref = null;
    218232        Main.platform = null;
    219233        // Parts of JOSM uses weak references - destroy them.