From a9507250f96766525c5fbde5648b228d032bf064 Mon Sep 17 00:00:00 2001 From: Joel Leitch Date: Tue, 15 Mar 2011 15:41:19 +0000 Subject: [PATCH] Add test for multiple calls to register complex map key serialization. --- .../functional/MapAsArrayTypeAdapterTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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;