Index: trunk/test/unit/org/openstreetmap/josm/data/PreferencesTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/PreferencesTest.java	(revision 12949)
+++ trunk/test/unit/org/openstreetmap/josm/data/PreferencesTest.java	(revision 12989)
@@ -3,12 +3,8 @@
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.awt.Color;
 
 import org.junit.Rule;
 import org.junit.Test;
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.preferences.ColorProperty;
 import org.openstreetmap.josm.testutils.JOSMTestRules;
 
@@ -28,33 +24,4 @@
 
     /**
-     * Test color name.
-     */
-    @Test
-    public void testColorName() {
-        assertEquals("Layer: {5DE308C0-916F-4B5A-B3DB-D45E17F30172}.gpx",
-                Main.pref.getColorName("layer.{5DE308C0-916F-4B5A-B3DB-D45E17F30172}.gpx"));
-    }
-
-    /**
-     * Test color alpha.
-     */
-    @Test
-    public void testColorAlpha() {
-        assertEquals(0x12, new ColorProperty("foo", new Color(0x12345678, true)).get().getAlpha());
-        assertTrue(Main.pref.putColor("bar", new Color(0x12345678, true)));
-        assertEquals(0x12, new ColorProperty("bar", Color.RED).get().getAlpha());
-    }
-
-    /**
-     * Test color name and alpha.
-     */
-    @Test
-    public void testColorNameAlpha() {
-        assertEquals(0x12, new ColorProperty("foo", new Color(0x12345678, true)).get().getAlpha());
-        assertEquals(new Color(0x34, 0x56, 0x78, 0x12), Main.pref.getDefaultColor("foo"));
-        assertEquals(0x12, Main.pref.getDefaultColor("foo").getAlpha());
-    }
-
-    /**
      * Test {@link Preferences#toXML}.
      */
Index: trunk/test/unit/org/openstreetmap/josm/data/preferences/ColorPropertyTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/preferences/ColorPropertyTest.java	(revision 12949)
+++ 	(revision )
@@ -1,82 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.data.preferences;
-
-import static org.junit.Assert.assertEquals;
-
-import java.awt.Color;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.openstreetmap.josm.spi.preferences.Config;
-import org.openstreetmap.josm.testutils.JOSMTestRules;
-
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
-/**
- * Test {@link ColorProperty}
- * @author Michael Zangl
- */
-public class ColorPropertyTest {
-    /**
-     * This is a preference test.
-     */
-    @Rule
-    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
-    public JOSMTestRules test = new JOSMTestRules().preferences();
-    private ColorProperty base;
-
-    /**
-     * Set up test case
-     */
-    @Before
-    public void createTestProperty() {
-        base = new ColorProperty("test", Color.RED);
-    }
-
-    /**
-     * Test {@link ColorProperty#get()}
-     */
-    @Test
-    public void testGet() {
-        assertEquals(Color.RED, base.get());
-
-        Config.getPref().put("color.test", "#00ff00");
-        assertEquals(new Color(0xff00ff00), base.get());
-    }
-
-    /**
-     * Test {@link ColorProperty#put}
-     */
-    @Test
-    public void testPut() {
-        assertEquals(Color.RED, base.get());
-
-        base.put(new Color(0xff00ff00));
-        assertEquals(new Color(0xff00ff00), base.get());
-        assertEquals("#00ff00", Config.getPref().get("color.test").toLowerCase());
-
-        base.put(null);
-        assertEquals(Color.RED, base.get());
-    }
-
-    /**
-     * Test {@link ColorProperty#getChildColor(String)}
-     */
-    @Test
-    public void testGetChildColor() {
-        AbstractToStringProperty<Color> child = base.getChildColor("test2");
-
-        assertEquals(Color.RED, child.get());
-
-        base.put(Color.GREEN);
-        assertEquals(Color.GREEN, child.get());
-
-        child.put(Color.YELLOW);
-        assertEquals(Color.YELLOW, child.get());
-        assertEquals(Color.GREEN, base.get());
-
-        child.put(null);
-        assertEquals(Color.GREEN, child.get());
-    }
-}
Index: trunk/test/unit/org/openstreetmap/josm/data/preferences/NamedColorPropertyTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/preferences/NamedColorPropertyTest.java	(revision 12989)
+++ trunk/test/unit/org/openstreetmap/josm/data/preferences/NamedColorPropertyTest.java	(revision 12989)
@@ -0,0 +1,100 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data.preferences;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.awt.Color;
+import java.util.Arrays;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.spi.preferences.Config;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Test {@link ColorProperty}
+ * @author Michael Zangl
+ */
+public class NamedColorPropertyTest {
+    /**
+     * This is a preference test.
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences();
+    private NamedColorProperty base;
+
+    /**
+     * Set up test case
+     */
+    @Before
+    public void createTestProperty() {
+        base = new NamedColorProperty("test", Color.RED);
+    }
+
+    /**
+     * Test {@link ColorProperty#get()}
+     */
+    @Test
+    public void testGet() {
+        assertEquals(Color.RED, base.get());
+    }
+
+    /**
+     * Test {@link ColorProperty#put}
+     */
+    @Test
+    public void testPut() {
+        assertEquals(Color.RED, base.get());
+
+        base.put(new Color(0xff00af00));
+        assertEquals(new Color(0xff00af00), base.get());
+        assertEquals("#00af00", Config.getPref().getList("clr.general.test").get(0).toLowerCase());
+
+        base.put(null);
+        assertEquals(Color.RED, base.get());
+    }
+
+    /**
+     * Test color alpha.
+     */
+    @Test
+    public void testColorAlpha() {
+        assertEquals(0x12, new NamedColorProperty("foo", new Color(0x12345678, true)).get().getAlpha());
+        assertTrue(Main.pref.putList("clr.general.bar", Arrays.asList("#34567812", "general", "", "bar")));
+        assertEquals(0x12, new NamedColorProperty("bar", Color.RED).get().getAlpha());
+    }
+
+    /**
+     * Test color name and alpha.
+     */
+    @Test
+    public void testColorNameAlpha() {
+        assertEquals(0x12, new NamedColorProperty("foo", new Color(0x12345678, true)).get().getAlpha());
+    }
+
+    /**
+     * Test {@link ColorProperty#getChildColor(String)}
+     */
+    @Test
+    public void testGetChildColor() {
+        AbstractProperty<Color> child = base.getChildColor("test2");
+
+        assertEquals(Color.RED, child.get());
+
+        base.put(Color.GREEN);
+        assertEquals(Color.GREEN, child.get());
+
+        child.put(Color.YELLOW);
+        assertEquals(Color.YELLOW, child.get());
+        assertEquals(Color.GREEN, base.get());
+
+        child.put(null);
+        assertEquals(Color.GREEN, child.get());
+    }
+}
Index: trunk/test/unit/org/openstreetmap/josm/gui/layer/LayerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/layer/LayerTest.java	(revision 12949)
+++ trunk/test/unit/org/openstreetmap/josm/gui/layer/LayerTest.java	(revision 12989)
@@ -16,5 +16,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.preferences.AbstractProperty;
-import org.openstreetmap.josm.data.preferences.ColorProperty;
+import org.openstreetmap.josm.data.preferences.NamedColorProperty;
 import org.openstreetmap.josm.testutils.JOSMTestRules;
 
@@ -52,6 +52,6 @@
         AbstractProperty<Color> color = new LayerManagerTest.TestLayer() {
             @Override
-            protected ColorProperty getBaseColorProperty() {
-                return new ColorProperty("x", Color.BLACK);
+            protected NamedColorProperty getBaseColorProperty() {
+                return new NamedColorProperty("x", Color.BLACK);
             }
         }.getColorProperty();
@@ -101,5 +101,5 @@
             @Override
             public AbstractProperty<Color> getColorProperty() {
-                return new ColorProperty("test", Color.RED);
+                return new NamedColorProperty("test", Color.RED);
             }
         };
