Index: trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 12637)
+++ trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 12639)
@@ -6,5 +6,4 @@
 import static org.junit.Assert.fail;
 
-import java.awt.BorderLayout;
 import java.io.File;
 import java.io.IOException;
@@ -15,10 +14,7 @@
 import java.util.TimeZone;
 
-import javax.swing.JPanel;
-
 import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainApplicationTest;
-import org.openstreetmap.josm.gui.MainPanel;
 import org.openstreetmap.josm.gui.layer.LayerManagerTest.TestLayer;
 import org.openstreetmap.josm.gui.util.GuiHelper;
@@ -158,5 +154,5 @@
             if (Main.main.panel == null) {
                 initMainPanel(false);
-                Main.main.panel = Main.mainPanel;
+                Main.main.panel = MainApplicationTest.getMainPanel();
             }
             Main.main.panel.reAddListeners();
@@ -167,14 +163,12 @@
 
     /**
-     * Make sure {@code Main.contentPanePrivate} is initialized.
+     * Make sure {@code MainApplication.contentPanePrivate} is initialized.
      */
     public static void initContentPane() {
-        if (Main.contentPanePrivate == null) {
-            Main.contentPanePrivate = new JPanel(new BorderLayout());
-        }
+        MainApplicationTest.initContentPane();
     }
 
     /**
-     * Make sure {@code Main.mainPanel} is initialized.
+     * Make sure {@code MainApplication.mainPanel} is initialized.
      */
     public static void initMainPanel() {
@@ -183,28 +177,16 @@
 
     /**
-     * Make sure {@code Main.mainPanel} is initialized.
+     * Make sure {@code MainApplication.mainPanel} is initialized.
      * @param reAddListeners {@code true} to re-add listeners
      */
     public static void initMainPanel(boolean reAddListeners) {
-        if (Main.mainPanel == null) {
-            Main.mainPanel = new MainPanel(MainApplication.getLayerManager());
-        }
-        if (reAddListeners) {
-            Main.mainPanel.reAddListeners();
-        }
-        if (Main.main != null) {
-            Main.main.panel = Main.mainPanel;
-        }
+        MainApplicationTest.initMainPanel(reAddListeners);
     }
 
     /**
-     * Make sure {@code Main.toolbar} is initialized.
+     * Make sure {@code MainApplication.toolbar} is initialized.
      */
-    @SuppressWarnings("deprecation")
     public static void initToolbar() {
         MainApplicationTest.initToolbar();
-        if (Main.toolbar == null) {
-            Main.toolbar = MainApplication.getToolbar();
-        }
     }
 }
Index: trunk/test/unit/org/openstreetmap/josm/MainTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/MainTest.java	(revision 12637)
+++ trunk/test/unit/org/openstreetmap/josm/MainTest.java	(revision 12639)
@@ -8,5 +8,4 @@
 import static org.junit.Assert.assertTrue;
 
-import java.awt.event.KeyEvent;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -18,9 +17,6 @@
 import org.openstreetmap.josm.Main.InitStatusListener;
 import org.openstreetmap.josm.Main.InitializationTask;
-import org.openstreetmap.josm.actions.AboutAction;
-import org.openstreetmap.josm.gui.MapFrameListener;
 import org.openstreetmap.josm.io.OnlineResource;
 import org.openstreetmap.josm.testutils.JOSMTestRules;
-import org.openstreetmap.josm.tools.Shortcut;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -125,31 +121,4 @@
     }
 
-    /**
-     * Unit test of {@link Main#getRegisteredActionShortcut}.
-     */
-    @Test
-    public void testGetRegisteredActionShortcut() {
-        Shortcut noKeystroke = Shortcut.registerShortcut("no", "keystroke", 0, 0);
-        assertNull(noKeystroke.getKeyStroke());
-        assertNull(Main.getRegisteredActionShortcut(noKeystroke));
-        Shortcut noAction = Shortcut.registerShortcut("foo", "bar", KeyEvent.VK_AMPERSAND, Shortcut.SHIFT);
-        assertNotNull(noAction.getKeyStroke());
-        assertNull(Main.getRegisteredActionShortcut(noAction));
-        AboutAction about = new AboutAction();
-        assertEquals(about, Main.getRegisteredActionShortcut(about.getShortcut()));
-    }
-
-    /**
-     * Unit test of {@link Main#addMapFrameListener} and {@link Main#removeMapFrameListener}.
-     */
-    @Test
-    public void testMapFrameListener() {
-        MapFrameListener listener = (o, n) -> { };
-        assertTrue(Main.addMapFrameListener(listener));
-        assertFalse(Main.addMapFrameListener(null));
-        assertTrue(Main.removeMapFrameListener(listener));
-        assertFalse(Main.removeMapFrameListener(null));
-    }
-
     private static class InitStatusListenerStub implements InitStatusListener {
 
Index: trunk/test/unit/org/openstreetmap/josm/gui/MainApplicationTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/MainApplicationTest.java	(revision 12637)
+++ trunk/test/unit/org/openstreetmap/josm/gui/MainApplicationTest.java	(revision 12639)
@@ -6,5 +6,8 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-
+import static org.junit.Assert.assertTrue;
+
+import java.awt.BorderLayout;
+import java.awt.event.KeyEvent;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -19,4 +22,6 @@
 import java.util.concurrent.Future;
 
+import javax.swing.JComponent;
+import javax.swing.JPanel;
 import javax.swing.UIManager;
 
@@ -25,4 +30,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.TestUtils;
+import org.openstreetmap.josm.actions.AboutAction;
 import org.openstreetmap.josm.data.Version;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -37,4 +43,5 @@
 import org.openstreetmap.josm.testutils.JOSMTestRules;
 import org.openstreetmap.josm.tools.Logging;
+import org.openstreetmap.josm.tools.Shortcut;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@@ -53,9 +60,54 @@
 
     /**
+     * Make sure {@link MainApplication#contentPanePrivate} is initialized.
+     */
+    public static void initContentPane() {
+        if (MainApplication.contentPanePrivate == null) {
+            MainApplication.contentPanePrivate = new JPanel(new BorderLayout());
+        }
+    }
+
+    /**
+     * Returns {@link MainApplication#contentPanePrivate} (not public).
+     * @return {@link MainApplication#contentPanePrivate}
+     */
+    public static JComponent getContentPane() {
+        return MainApplication.contentPanePrivate;
+    }
+
+    /**
+     * Make sure {@code MainApplication.mainPanel} is initialized.
+     * @param reAddListeners {@code true} to re-add listeners
+     */
+    public static void initMainPanel(boolean reAddListeners) {
+        if (MainApplication.mainPanel == null) {
+            MainApplication.mainPanel = new MainPanel(MainApplication.getLayerManager());
+        }
+        if (reAddListeners) {
+            MainApplication.mainPanel.reAddListeners();
+        }
+        if (Main.main != null) {
+            Main.main.panel = MainApplication.mainPanel;
+        }
+    }
+
+    /**
+     * Returns {@link MainApplication#mainPanel} (not public).
+     * @return {@link MainApplication#mainPanel}
+     */
+    public static MainPanel getMainPanel() {
+        return MainApplication.mainPanel;
+    }
+
+    /**
      * Make sure {@link MainApplication#toolbar} is initialized.
      */
+    @SuppressWarnings("deprecation")
     public static void initToolbar() {
         if (MainApplication.toolbar == null) {
             MainApplication.toolbar = new ToolbarPreferences();
+        }
+        if (Main.toolbar == null) {
+            Main.toolbar = MainApplication.getToolbar();
         }
     }
@@ -236,4 +288,31 @@
 
     /**
+     * Unit test of {@link MainApplication#getRegisteredActionShortcut}.
+     */
+    @Test
+    public void testGetRegisteredActionShortcut() {
+        Shortcut noKeystroke = Shortcut.registerShortcut("no", "keystroke", 0, 0);
+        assertNull(noKeystroke.getKeyStroke());
+        assertNull(MainApplication.getRegisteredActionShortcut(noKeystroke));
+        Shortcut noAction = Shortcut.registerShortcut("foo", "bar", KeyEvent.VK_AMPERSAND, Shortcut.SHIFT);
+        assertNotNull(noAction.getKeyStroke());
+        assertNull(MainApplication.getRegisteredActionShortcut(noAction));
+        AboutAction about = new AboutAction();
+        assertEquals(about, MainApplication.getRegisteredActionShortcut(about.getShortcut()));
+    }
+
+    /**
+     * Unit test of {@link MainApplication#addMapFrameListener} and {@link MainApplication#removeMapFrameListener}.
+     */
+    @Test
+    public void testMapFrameListener() {
+        MapFrameListener listener = (o, n) -> { };
+        assertTrue(MainApplication.addMapFrameListener(listener));
+        assertFalse(MainApplication.addMapFrameListener(null));
+        assertTrue(MainApplication.removeMapFrameListener(listener));
+        assertFalse(MainApplication.removeMapFrameListener(null));
+    }
+
+    /**
      * Unit test of {@link DownloadParamType} enum.
      */
