Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java	(revision 9574)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java	(revision 9575)
@@ -17,4 +17,5 @@
 import org.openstreetmap.josm.data.osm.Changeset;
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
+import org.openstreetmap.josm.io.Capabilities;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -67,5 +68,6 @@
         //
         boolean useOneChangeset = true;
-        int maxChunkSize = OsmApi.getOsmApi().getCapabilities().getMaxChangesetSize();
+        Capabilities capabilities = OsmApi.getOsmApi().getCapabilities();
+        int maxChunkSize = capabilities != null ? capabilities.getMaxChangesetSize() : -1;
         if (maxChunkSize > 0 && numObjects > maxChunkSize) {
             useOneChangeset = false;
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 9574)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 9575)
@@ -34,4 +34,5 @@
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.JosmTextField;
+import org.openstreetmap.josm.io.Capabilities;
 import org.openstreetmap.josm.io.OsmApi;
 
@@ -226,5 +227,6 @@
         add(new JPanel(), gc);
 
-        int maxChunkSize = OsmApi.getOsmApi().getCapabilities().getMaxChangesetSize();
+        Capabilities capabilities = OsmApi.getOsmApi().getCapabilities();
+        int maxChunkSize = capabilities != null ? capabilities.getMaxChangesetSize() : -1;
         pnlMultiChangesetPolicyPanel.setVisible(
                 maxChunkSize > 0 && numUploadedObjects > maxChunkSize
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 9574)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 9575)
@@ -3,4 +3,5 @@
 
 import java.awt.Component;
+import java.awt.GraphicsEnvironment;
 import java.awt.Toolkit;
 import java.awt.datatransfer.Clipboard;
@@ -132,5 +133,5 @@
             final JTextComponent editorComponent = comboBox.getEditorComponent();
             // save unix system selection (middle mouse paste)
-            Clipboard sysSel = Toolkit.getDefaultToolkit().getSystemSelection();
+            Clipboard sysSel = GraphicsEnvironment.isHeadless() ? null : Toolkit.getDefaultToolkit().getSystemSelection();
             if (sysSel != null) {
                 Transferable old = Utils.getTransferableContent(sysSel);
Index: /trunk/test/unit/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanelTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanelTest.java	(revision 9575)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanelTest.java	(revision 9575)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.io;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests of {@link BasicUploadSettingsPanel} class.
+ */
+public class BasicUploadSettingsPanelTest {
+
+    /**
+     * Setup tests
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test of {@link BasicUploadSettingsPanel#BasicUploadSettingsPanel}.
+     */
+    @Test
+    public void testBasicUploadSettingsPanel() {
+        assertNotNull(new BasicUploadSettingsPanel(new ChangesetCommentModel(), new ChangesetCommentModel()));
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/io/ChangesetManagementPanelTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/io/ChangesetManagementPanelTest.java	(revision 9575)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/io/ChangesetManagementPanelTest.java	(revision 9575)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.io;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests of {@link ChangesetManagementPanel} class.
+ */
+public class ChangesetManagementPanelTest {
+
+    /**
+     * Setup tests
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test of {@link ChangesetManagementPanel#ChangesetManagementPanel}.
+     */
+    @Test
+    public void testChangesetManagementPanel() {
+        assertNotNull(new ChangesetManagementPanel(new ChangesetCommentModel()));
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/io/TagSettingsPanelTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/io/TagSettingsPanelTest.java	(revision 9575)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/io/TagSettingsPanelTest.java	(revision 9575)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.io;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests of {@link TagSettingsPanel} class.
+ */
+public class TagSettingsPanelTest {
+
+    /**
+     * Setup tests
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test of {@link TagSettingsPanel#TagSettingsPanel}.
+     */
+    @Test
+    public void testTagSettingsPanel() {
+        assertNotNull(new TagSettingsPanel(new ChangesetCommentModel(), new ChangesetCommentModel()));
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanelTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanelTest.java	(revision 9575)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanelTest.java	(revision 9575)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.io;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests of {@link UploadParameterSummaryPanel} class.
+ */
+public class UploadParameterSummaryPanelTest {
+
+    /**
+     * Setup tests
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test of {@link UploadParameterSummaryPanel#UploadParameterSummaryPanel}.
+     */
+    @Test
+    public void testUploadParameterSummaryPanel() {
+        assertNotNull(new UploadParameterSummaryPanel());
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanelTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanelTest.java	(revision 9575)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanelTest.java	(revision 9575)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.io;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests of {@link UploadStrategySelectionPanel} class.
+ */
+public class UploadStrategySelectionPanelTest {
+
+    /**
+     * Setup tests
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test of {@link UploadStrategySelectionPanel#UploadStrategySelectionPanel}.
+     */
+    @Test
+    public void testUploadStrategySelectionPanel() {
+        assertNotNull(new UploadStrategySelectionPanel());
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadedObjectsSummaryPanelTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadedObjectsSummaryPanelTest.java	(revision 9575)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/io/UploadedObjectsSummaryPanelTest.java	(revision 9575)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.io;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests of {@link UploadedObjectsSummaryPanel} class.
+ */
+public class UploadedObjectsSummaryPanelTest {
+
+    /**
+     * Setup tests
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test of {@link UploadedObjectsSummaryPanel#UploadedObjectsSummaryPanel}.
+     */
+    @Test
+    public void testUploadedObjectsSummaryPanel() {
+        assertNotNull(new UploadedObjectsSummaryPanel());
+    }
+}
