diff --git a/gson/src/test/java/com/google/gson/functional/MapTest.java b/gson/src/test/java/com/google/gson/functional/MapTest.java index 82c6c1b1..d32ac3c2 100755 --- a/gson/src/test/java/com/google/gson/functional/MapTest.java +++ b/gson/src/test/java/com/google/gson/functional/MapTest.java @@ -312,4 +312,23 @@ public class MapTest extends TestCase { Map map = gson.fromJson("{\"\":true}", new TypeToken>() {}.getType()); assertEquals(Boolean.TRUE, map.get("")); } + + /** + * From bug report http://code.google.com/p/google-gson/issues/detail?id=204 + */ + public void testSerializeMaps() { + Map map = new LinkedHashMap(); + map.put("a", 12); + map.put("b", null); + map.put("c", new HashMap()); + + assertEquals("{\"a\":12,\"b\":null,\"c\":{}}", + new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(map)); + assertEquals("{\"a\":12,\"b\":null,\"c\":{}}", + new GsonBuilder().serializeNulls().create().toJson(map)); + assertEquals("{\"a\":12,\"c\":{}}", + new GsonBuilder().setPrettyPrinting().create().toJson(map)); + assertEquals("{\"a\":12,\"c\":{}}", + new GsonBuilder().create().toJson(map)); + } }