Index: /trunk/test/unit/org/openstreetmap/josm/tools/KeyboardUtilsTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/tools/KeyboardUtilsTest.java	(revision 14307)
+++ /trunk/test/unit/org/openstreetmap/josm/tools/KeyboardUtilsTest.java	(revision 14308)
@@ -5,6 +5,8 @@
 
 import java.awt.event.KeyEvent;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -55,53 +57,51 @@
     public void testGetCharactersForKeyE00() {
         char deadCircumflex = (char) KeyEvent.VK_DEAD_CIRCUMFLEX;
-        char deadGrave = (char) KeyEvent.VK_DEAD_GRAVE;
         char deadCaron = (char) KeyEvent.VK_DEAD_CARON;
         char deadCircumflex2 = 0x2C6;
-        char deadGrave2 = 0x2CB;
         char deadCaron2 = 0x2C7;
-        testgetCharactersForKeyE00("ar", 'ذ', '>', '`', deadGrave, deadGrave2);
+        testgetCharactersForKeyE00("ar", 'ذ', '>');
         if (PlatformManager.isPlatformUnixoid()) {
-            testgetCharactersForKeyE00("fr_FR", '²', '$', 'œ', '`', deadGrave, deadGrave2);
-            testgetCharactersForKeyE00("fr_CA", '#', '$', 'œ', '/', '`', deadGrave, deadGrave2);
+            testgetCharactersForKeyE00("fr_FR", '²', '$', 'œ');
+            testgetCharactersForKeyE00("fr_CA", '#', '$', 'œ', '/');
         } else {
-            testgetCharactersForKeyE00("fr_FR", '²', '$', '`', deadGrave, deadGrave2);
-            testgetCharactersForKeyE00("fr_CA", '#', '$', '/', '`', deadGrave, deadGrave2);
+            testgetCharactersForKeyE00("fr_FR", '²', '$');
+            testgetCharactersForKeyE00("fr_CA", '#', '$', '/');
         }
-        testgetCharactersForKeyE00("sq", '\\', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("it", '\\', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("pt", '\\', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("pt_BR", '\'', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("de", deadCircumflex, deadCircumflex2, '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("cs", ';', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("he", '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("hu", '0', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("pl", '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("bs", '¸', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("hr", '¸', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("sl", '¸', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("sr", '¸', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("ro", ']', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("da", '½', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("fo", '½', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("nl", '@', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("et", deadCaron, deadCaron2, '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("is", '°', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("es", '|', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("es_ES", 'º', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("tr", '"', '*', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("de_LU", deadCircumflex, deadCircumflex2, '²', '§', '`', deadGrave, deadGrave2);
+        testgetCharactersForKeyE00("sq", '\\');
+        testgetCharactersForKeyE00("it", '\\');
+        testgetCharactersForKeyE00("pt", '\\');
+        testgetCharactersForKeyE00("pt_BR", '\'');
+        testgetCharactersForKeyE00("de", deadCircumflex, deadCircumflex2);
+        testgetCharactersForKeyE00("cs", ';');
+        testgetCharactersForKeyE00("he");
+        testgetCharactersForKeyE00("hu", '0');
+        testgetCharactersForKeyE00("pl");
+        testgetCharactersForKeyE00("bs", '¸');
+        testgetCharactersForKeyE00("hr", '¸');
+        testgetCharactersForKeyE00("sl", '¸');
+        testgetCharactersForKeyE00("sr", '¸');
+        testgetCharactersForKeyE00("ro", ']');
+        testgetCharactersForKeyE00("da", '½');
+        testgetCharactersForKeyE00("fo", '½');
+        testgetCharactersForKeyE00("nl", '@');
+        testgetCharactersForKeyE00("et", deadCaron, deadCaron2);
+        testgetCharactersForKeyE00("is", '°');
+        testgetCharactersForKeyE00("es", '|');
+        testgetCharactersForKeyE00("es_ES", 'º');
+        testgetCharactersForKeyE00("tr", '"', '*');
+        testgetCharactersForKeyE00("de_LU", deadCircumflex, deadCircumflex2, '²', '§');
         if (PlatformManager.isPlatformUnixoid()) {
-            testgetCharactersForKeyE00("fr_LU", '$', 'œ', '²', '§', '`', deadGrave, deadGrave2);
-            testgetCharactersForKeyE00("fr_CH", '²', '$', 'œ', '§', '`', deadGrave, deadGrave2);
+            testgetCharactersForKeyE00("fr_LU", '$', 'œ', '²', '§');
+            testgetCharactersForKeyE00("fr_CH", '²', '$', 'œ', '§');
         } else {
-            testgetCharactersForKeyE00("fr_LU", '$', '²', '§', '`', deadGrave, deadGrave2);
-            testgetCharactersForKeyE00("fr_CH", '²', '$', '§', '`', deadGrave, deadGrave2);
+            testgetCharactersForKeyE00("fr_LU", '$', '²', '§');
+            testgetCharactersForKeyE00("fr_CH", '²', '$', '§');
         }
-        testgetCharactersForKeyE00("de_CH", deadCircumflex, deadCircumflex2, '§', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("de_LI", deadCircumflex, deadCircumflex2, '§', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("fi_FI", '§', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("sv_SE", '§', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("no_NO", '|', '`', deadGrave, deadGrave2);
-        testgetCharactersForKeyE00("sv_NO", '|', '`', deadGrave, deadGrave2);
+        testgetCharactersForKeyE00("de_CH", deadCircumflex, deadCircumflex2, '§');
+        testgetCharactersForKeyE00("de_LI", deadCircumflex, deadCircumflex2, '§');
+        testgetCharactersForKeyE00("fi_FI", '§');
+        testgetCharactersForKeyE00("sv_SE", '§');
+        testgetCharactersForKeyE00("no_NO", '|');
+        testgetCharactersForKeyE00("sv_NO", '|');
     }
 
@@ -116,5 +116,13 @@
 
     private static void testgetCharactersForKeyE00(Locale locale, Character... expected) {
-        assertEquals(Arrays.asList(expected), KeyboardUtils.getCharactersForKey('E', 0, locale));
+        List<Character> realExpected = new ArrayList<>(Arrays.asList(expected));
+        // Add characters common to all cases
+        if (PlatformManager.isPlatformOsx()) {
+            realExpected.add('§');
+        }
+        char deadGrave = (char) KeyEvent.VK_DEAD_GRAVE;
+        char deadGrave2 = 0x2CB;
+        realExpected.addAll(Arrays.asList('`', deadGrave, deadGrave2));
+        assertEquals(realExpected, KeyboardUtils.getCharactersForKey('E', 0, locale));
     }
 }
