diff --git a/gson/src/test/java/com/google/gson/functional/MapAsArrayTypeAdapterTest.java b/gson/src/test/java/com/google/gson/functional/MapAsArrayTypeAdapterTest.java index cd863621..7a6b9b8e 100644 --- a/gson/src/test/java/com/google/gson/functional/MapAsArrayTypeAdapterTest.java +++ b/gson/src/test/java/com/google/gson/functional/MapAsArrayTypeAdapterTest.java @@ -79,6 +79,21 @@ public class MapAsArrayTypeAdapterTest extends TestCase { } catch (JsonSyntaxException expected) { } } + + public void testMultipleEnableComplexKeyRegistrationHasNoEffect() throws Exception { + Type type = new TypeToken>() {}.getType(); + Gson gson = new GsonBuilder() + .enableComplexMapKeySerialization() + .enableComplexMapKeySerialization() + .create(); + + Map original = new LinkedHashMap(); + original.put(new Point(6, 5), "abc"); + original.put(new Point(1, 8), "def"); + String json = gson.toJson(original, type); + assertEquals("[[{\"x\":6,\"y\":5},\"abc\"],[{\"x\":1,\"y\":8},\"def\"]]", json); + assertEquals(original, gson.>fromJson(json, type)); + } static class Point { int x;