Index: trunk/test/unit/org/openstreetmap/josm/gui/DefaultNameFormatterTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/DefaultNameFormatterTest.java	(revision 7109)
+++ trunk/test/unit/org/openstreetmap/josm/gui/DefaultNameFormatterTest.java	(revision 7112)
@@ -2,4 +2,6 @@
 package org.openstreetmap.josm.gui;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
@@ -17,4 +19,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.tagging.TaggingPresetReader;
 import org.openstreetmap.josm.gui.tagging.TaggingPresets;
@@ -76,3 +79,30 @@
         }
     }
+
+    @Test
+    public void testRelationName() throws Exception {
+        assertThat(getFormattedRelationName("X=Y"), is("relation (0, 0 members)"));
+        assertThat(getFormattedRelationName("name=Foo"), is("relation (\"Foo\", 0 members)"));
+        assertThat(getFormattedRelationName("type=route route=tram ref=123"), is("route (\"123\", 0 members)"));
+        assertThat(getFormattedRelationName("type=multipolygon building=yes"), is("multipolygon (\"building\", 0 members)"));
+        assertThat(getFormattedRelationName("type=multipolygon building=yes ref=123"), is("multipolygon (\"123\", 0 members)"));
+        assertThat(getFormattedRelationName("type=multipolygon building=yes addr:housenumber=123"), is("multipolygon (\"building\", 0 members)"));
+        assertThat(getFormattedRelationName("type=multipolygon building=residential addr:housenumber=123"), is("multipolygon (\"residential\", 0 members)"));
+    }
+
+    @Test
+    public void testWayName() throws Exception {
+        assertThat(getFormattedWayName("building=yes"), is("building (0 nodes)"));
+        assertThat(getFormattedWayName("building=yes addr:housenumber=123"), is("House number 123 (0 nodes)"));
+        assertThat(getFormattedWayName("building=yes addr:housenumber=123 addr:street=FooStreet"), is("House number 123 at FooStreet (0 nodes)"));
+        assertThat(getFormattedWayName("building=yes addr:housenumber=123 addr:housename=FooName"), is("House FooName (0 nodes)"));
+    }
+
+    static String getFormattedRelationName(String tagsString) {
+        return DefaultNameFormatter.getInstance().format((Relation) TestUtils.createPrimitive("relation " + tagsString));
+    }
+
+    static String getFormattedWayName(String tagsString) {
+        return DefaultNameFormatter.getInstance().format((Way) TestUtils.createPrimitive("way " + tagsString));
+    }
 }
