Index: /trunk/test/data/invalid_api/0.6/capabilities
===================================================================
--- /trunk/test/data/invalid_api/0.6/capabilities	(revision 10979)
+++ /trunk/test/data/invalid_api/0.6/capabilities	(revision 10979)
@@ -0,0 +1,2 @@
+This is a dummy file used to test malformed API capabilities.
+It must be named capabilities in a directory named 0.6
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTaskTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTaskTest.java	(revision 10979)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ApiUrlTestTaskTest.java	(revision 10979)
@@ -0,0 +1,89 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.preferences.server;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.io.OsmApi;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Unit tests of {@link ApiUrlTestTask} class.
+ */
+public class ApiUrlTestTaskTest {
+
+    /**
+     * Setup tests
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences().noTimeout();
+
+    private static final Component PARENT = new JLabel();
+
+    /**
+     * Unit test of {@link ApiUrlTestTask#ApiUrlTestTask} - null url.
+     */
+    @Test(expected = IllegalArgumentException.class)
+    public void testNullApiUrl() {
+        new ApiUrlTestTask(PARENT, null);
+    }
+
+    /**
+     * Unit test of {@link ApiUrlTestTask} - nominal url.
+     */
+    @Test
+    public void testNominalUrl() {
+        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, OsmApi.DEFAULT_API_URL);
+        task.run();
+        assertTrue(task.isSuccess());
+    }
+
+    /**
+     * Unit test of {@link ApiUrlTestTask#alertInvalidUrl} - malformed url.
+     */
+    @Test
+    public void testAlertInvalidUrl() {
+        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, "malformed url");
+        task.run();
+        assertFalse(task.isSuccess());
+    }
+
+    /**
+     * Unit test of {@link ApiUrlTestTask} - unknown host.
+     */
+    @Test
+    public void testUnknownHost() {
+        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, "http://unknown");
+        task.run();
+        assertFalse(task.isSuccess());
+    }
+
+    /**
+     * Unit test of {@link ApiUrlTestTask#alertInvalidServerResult} - http 404.
+     */
+    @Test
+    public void testAlertInvalidServerResult() {
+        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, "http://www.openstreetmap.org");
+        task.run();
+        assertFalse(task.isSuccess());
+    }
+
+    /**
+     * Unit test of {@link ApiUrlTestTask#alertInvalidCapabilities} - invalid contents.
+     */
+    @Test
+    public void testAlertInvalidCapabilities() {
+        ApiUrlTestTask task = new ApiUrlTestTask(PARENT, "https://josm.openstreetmap.de/export/10979/josm/trunk/test/data/invalid_api");
+        task.run();
+        assertFalse(task.isSuccess());
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferenceTest.java	(revision 10978)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferenceTest.java	(revision 10979)
@@ -4,8 +4,10 @@
 import static org.junit.Assert.assertNotNull;
 
-import org.junit.BeforeClass;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.gui.preferences.PreferencesTestUtils;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -15,10 +17,9 @@
 
     /**
-     * Setup test.
+     * Setup tests
      */
-    @BeforeClass
-    public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init();
-    }
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences().platform();
 
     /**
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreferenceTest.java	(revision 10978)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreferenceTest.java	(revision 10979)
@@ -4,8 +4,10 @@
 import static org.junit.Assert.assertNotNull;
 
-import org.junit.BeforeClass;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.gui.preferences.PreferencesTestUtils;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -15,10 +17,9 @@
 
     /**
-     * Setup test.
+     * Setup tests
      */
-    @BeforeClass
-    public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init();
-    }
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences().platform();
 
     /**
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ProxyPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ProxyPreferenceTest.java	(revision 10978)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ProxyPreferenceTest.java	(revision 10979)
@@ -4,8 +4,10 @@
 import static org.junit.Assert.assertNotNull;
 
-import org.junit.BeforeClass;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.gui.preferences.PreferencesTestUtils;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -15,10 +17,9 @@
 
     /**
-     * Setup test.
+     * Setup tests
      */
-    @BeforeClass
-    public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init();
-    }
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences().platform();
 
     /**
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ServerAccessPreferenceTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ServerAccessPreferenceTest.java	(revision 10978)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/server/ServerAccessPreferenceTest.java	(revision 10979)
@@ -4,8 +4,10 @@
 import static org.junit.Assert.assertNotNull;
 
-import org.junit.BeforeClass;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.gui.preferences.PreferencesTestUtils;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -15,10 +17,9 @@
 
     /**
-     * Setup test.
+     * Setup tests
      */
-    @BeforeClass
-    public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init();
-    }
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences().platform();
 
     /**
