From f6963e3dec856a152e47c12e7551c464b196636b Mon Sep 17 00:00:00 2001
From: Robert Scott <code@humanleg.org.uk>
Date: Thu, 18 Oct 2018 20:38:42 +0100
Subject: [PATCH v1 1/2] OsmDataLayerTest: fix for non-headless mode

---
 src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java      |  3 ---
 .../org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java  | 13 +++++++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java b/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
index 6f0dd5057..651280050 100644
--- a/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
@@ -1102,9 +1102,6 @@ public class OsmDataLayer extends AbstractOsmDataLayer implements Listener, Data
     @Override
     public boolean checkSaveConditions() {
         if (isDataSetEmpty() && 1 != GuiHelper.runInEDTAndWaitAndReturn(() -> {
-            if (GraphicsEnvironment.isHeadless()) {
-                return 2;
-            }
             return new ExtendedDialog(
                     MainApplication.getMainFrame(),
                     tr("Empty document"),
diff --git a/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java b/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java
index 275d98173..9d8555dd3 100644
--- a/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java
+++ b/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java
@@ -34,8 +34,11 @@ import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.io.IllegalDataException;
 import org.openstreetmap.josm.io.OsmReader;
 import org.openstreetmap.josm.testutils.JOSMTestRules;
+import org.openstreetmap.josm.testutils.mockers.ExtendedDialogMocker;
 import org.openstreetmap.josm.tools.date.DateUtils;
 
+import com.google.common.collect.ImmutableMap;
+
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -279,9 +282,19 @@ public class OsmDataLayerTest {
      */
     @Test
     public void testCheckSaveConditions() {
+        TestUtils.assumeWorkingJMockit();
+        final ExtendedDialogMocker edMocker = new ExtendedDialogMocker(
+            ImmutableMap.<String, Object>of("The document contains no data.", "Cancel")
+        );
+
         assertFalse(layer.checkSaveConditions());
         fillDataSet(ds);
         assertTrue(layer.checkSaveConditions());
+
+        assertEquals(1, edMocker.getInvocationLog().size());
+        Object[] invocationLogEntry = edMocker.getInvocationLog().get(0);
+        assertEquals(2, (int) invocationLogEntry[0]);
+        assertEquals("Empty document", invocationLogEntry[2]);
     }
 
     @Test
-- 
2.11.0

