Ticket #12959: patch-fix-12959-tests.patch

File patch-fix-12959-tests.patch, 2.8 KB (added by michael2402, 9 years ago)
  • src/org/openstreetmap/josm/gui/NavigatableComponent.java

    diff --git a/src/org/openstreetmap/josm/gui/NavigatableComponent.java b/src/org/openstreetmap/josm/gui/NavigatableComponent.java
    index da420a4..0da28eb 100644
    a b public class NavigatableComponent extends JComponent implements Helpful {  
    314314    }
    315315
    316316    protected void updateLocationState() {
    317         if (SwingUtilities.getWindowAncestor(this) != null && isShowing()) {
     317        if (isVisibleOnScreen()) {
    318318            state = state.usingLocation(this);
    319319        }
    320320    }
    321321
     322    protected boolean isVisibleOnScreen() {
     323        return SwingUtilities.getWindowAncestor(this) != null && isShowing();
     324    }
     325
    322326    /**
    323327     * Gets the current view state. This includes the scale, the current view area and the position.
    324328     * @return The current state.
  • 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..865e2f4 100644
    a b import java.awt.Point;  
    88import java.awt.Rectangle;
    99import java.awt.geom.Point2D;
    1010
    11 import javax.swing.JFrame;
     11import javax.swing.JPanel;
    1212
    1313import org.CustomMatchers;
    1414import org.junit.Before;
    import org.openstreetmap.josm.gui.util.GuiHelper;  
    2929 */
    3030public class NavigatableComponentTest {
    3131
     32    private final class NavigatableComponentMock extends NavigatableComponent {
     33        @Override
     34        public Point getLocationOnScreen() {
     35            return new Point(30, 40);
     36        }
     37
     38        @Override
     39        protected boolean isVisibleOnScreen() {
     40            return true;
     41        }
     42    }
     43
    3244    private static final int HEIGHT = 200;
    3345    private static final int WIDTH = 300;
    3446    private NavigatableComponent component;
    public class NavigatableComponentTest {  
    4658     */
    4759    @Before
    4860    public void setUp() {
    49         component = new NavigatableComponent() {
    50             @Override
    51             public Point getLocationOnScreen() {
    52                 return new Point(30, 40);
    53             }
    54         };
     61        component = new NavigatableComponentMock();
    5562        component.setBounds(new Rectangle(WIDTH, HEIGHT));
    5663        // wait for the event to be propagated.
    5764        GuiHelper.runInEDTAndWait(new Runnable() {
    public class NavigatableComponentTest {  
    6067            }
    6168        });
    6269        component.setVisible(true);
    63         JFrame window = new JFrame();
    64         window.add(component);
     70        JPanel parent = new JPanel();
     71        parent.add(component);
    6572        component.updateLocationState();
    6673    }
    6774