Index: trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTest.java	(revision 16982)
+++ trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTest.java	(revision 16983)
@@ -10,15 +10,10 @@
 import static org.openstreetmap.josm.gui.mappaint.MapCSSRendererTest.assertImageEquals;
 
-import java.awt.Color;
 import java.awt.Dimension;
-import java.awt.Graphics;
 import java.awt.GraphicsEnvironment;
-import java.awt.GridLayout;
 import java.awt.Image;
 import java.awt.Point;
 import java.awt.Toolkit;
 import java.awt.Transparency;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -32,10 +27,7 @@
 
 import javax.swing.ImageIcon;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
 
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
@@ -161,13 +153,4 @@
 
     /**
-     * Test fetching an image using {@code wiki://} protocol.
-     */
-    @Test
-    public void testWikiProtocol() {
-        // https://commons.wikimedia.org/wiki/File:OpenJDK_logo.svg
-        assertNotNull(ImageProvider.get("wiki://OpenJDK_logo.svg"));
-    }
-
-    /**
      * Test fetching an image using {@code data:} URL.
      */
@@ -309,55 +292,3 @@
     }
 
-
-    /**
-     * Test getting a cursor
-     */
-    @Ignore("manual execution only, as the look of the cursor cannot be checked automatedly")
-    @Test
-    public void testGetCursor() throws InterruptedException {
-        JFrame frame = new JFrame();
-        frame.setSize(500, 500);
-        frame.setLayout(new GridLayout(2, 2));
-        JPanel leftUpperPanel = new JPanel(), rightUpperPanel = new JPanel(), leftLowerPanel = new JPanel(), rightLowerPanel = new JPanel();
-        leftUpperPanel.setBackground(Color.DARK_GRAY);
-        rightUpperPanel.setBackground(Color.DARK_GRAY);
-        leftLowerPanel.setBackground(Color.DARK_GRAY);
-        rightLowerPanel.setBackground(Color.DARK_GRAY);
-        frame.add(leftUpperPanel);
-        frame.add(rightUpperPanel);
-        frame.add(leftLowerPanel);
-        frame.add(rightLowerPanel);
-
-        leftUpperPanel.setCursor(ImageProvider.getCursor("normal", "select_add")); // contains diagonal sensitive to alpha blending
-        rightUpperPanel.setCursor(ImageProvider.getCursor("crosshair", "joinway")); // combination of overlay and hotspot not top left
-        leftLowerPanel.setCursor(ImageProvider.getCursor("hand", "parallel_remove")); // reasonably nice bitmap cursor
-        rightLowerPanel.setCursor(ImageProvider.getCursor("rotate", null)); // ugly bitmap cursor, cannot do much here
-
-        frame.setVisible(true);
-
-        // hover over the four quadrant to observe different cursors
-
-        // draw red dot at hotspot when clicking
-        frame.addMouseListener(new MouseListener() {
-            @Override
-            public void mouseClicked(MouseEvent e) {
-                Graphics graphics = frame.getGraphics();
-                graphics.setColor(Color.RED);
-                graphics.drawRect(e.getX(), e.getY(), 1, 1);
-            }
-
-            @Override
-            public void mousePressed(MouseEvent e) { }
-
-            @Override
-            public void mouseReleased(MouseEvent e) { }
-
-            @Override
-            public void mouseEntered(MouseEvent e) { }
-
-            @Override
-            public void mouseExited(MouseEvent e) { }
-        });
-        Thread.sleep(9000); // test would time out after 10s
-    }
 }
Index: trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTestIT.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTestIT.java	(revision 16983)
+++ trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTestIT.java	(revision 16983)
@@ -0,0 +1,32 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.tools;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Integration tests of {@link ImageProvider} class.
+ */
+public class ImageProviderTestIT {
+
+    /**
+     * Setup test.
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules();
+
+    /**
+     * Test fetching an image using {@code wiki://} protocol.
+     */
+    @Test
+    public void testWikiProtocol() {
+        // https://commons.wikimedia.org/wiki/File:OpenJDK_logo.svg
+        assertNotNull(ImageProvider.get("wiki://OpenJDK_logo.svg"));
+    }
+}
Index: trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTestManual.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTestManual.java	(revision 16983)
+++ trunk/test/functional/org/openstreetmap/josm/tools/ImageProviderTestManual.java	(revision 16983)
@@ -0,0 +1,87 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.tools;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.GridLayout;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Unit tests of {@link ImageProvider} class for manual execution.
+ */
+public class ImageProviderTestManual {
+
+    /**
+     * Setup test.
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules();
+
+    /**
+     * Test getting a cursor
+     */
+    @Ignore("manual execution only, as the look of the cursor cannot be checked automatedly")
+    @Test
+    public void testGetCursor() throws InterruptedException {
+        JFrame frame = new JFrame();
+        frame.setSize(500, 500);
+        frame.setLayout(new GridLayout(2, 2));
+        JPanel leftUpperPanel = new JPanel(), rightUpperPanel = new JPanel(), leftLowerPanel = new JPanel(), rightLowerPanel = new JPanel();
+        leftUpperPanel.setBackground(Color.DARK_GRAY);
+        rightUpperPanel.setBackground(Color.DARK_GRAY);
+        leftLowerPanel.setBackground(Color.DARK_GRAY);
+        rightLowerPanel.setBackground(Color.DARK_GRAY);
+        frame.add(leftUpperPanel);
+        frame.add(rightUpperPanel);
+        frame.add(leftLowerPanel);
+        frame.add(rightLowerPanel);
+
+        leftUpperPanel.setCursor(ImageProvider.getCursor("normal", "select_add")); // contains diagonal sensitive to alpha blending
+        rightUpperPanel.setCursor(ImageProvider.getCursor("crosshair", "joinway")); // combination of overlay and hotspot not top left
+        leftLowerPanel.setCursor(ImageProvider.getCursor("hand", "parallel_remove")); // reasonably nice bitmap cursor
+        rightLowerPanel.setCursor(ImageProvider.getCursor("rotate", null)); // ugly bitmap cursor, cannot do much here
+
+        frame.setVisible(true);
+
+        // hover over the four quadrant to observe different cursors
+
+        // draw red dot at hotspot when clicking
+        frame.addMouseListener(new MouseListener() {
+            @Override
+            public void mouseClicked(MouseEvent e) {
+                Graphics graphics = frame.getGraphics();
+                graphics.setColor(Color.RED);
+                graphics.drawRect(e.getX(), e.getY(), 1, 1);
+            }
+
+            @Override
+            public void mousePressed(MouseEvent e) {
+            }
+
+            @Override
+            public void mouseReleased(MouseEvent e) {
+            }
+
+            @Override
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            @Override
+            public void mouseExited(MouseEvent e) {
+            }
+        });
+        Thread.sleep(9000); // test would time out after 10s
+    }
+}
