diff options
author | Cowtowncoder <tatu.saloranta@iki.fi> | 2015-02-11 16:15:08 -0800 |
---|---|---|
committer | Cowtowncoder <tatu.saloranta@iki.fi> | 2015-02-11 16:15:08 -0800 |
commit | 7fee92edc549b1e3996fe988d31e5ae303d8a7f4 (patch) | |
tree | c459b57ff287d985fca1d817e81b7ba596a17d38 /src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java | |
parent | d22b735d95653f8a026e6c3ceae5dd9aa47953bb (diff) | |
download | jackson-databind-7fee92edc549b1e3996fe988d31e5ae303d8a7f4.tar.gz |
Fixed #700 (cannot change default Map, List)
Diffstat (limited to 'src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java')
-rw-r--r-- | src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java b/src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java index 71e84ecce..5d126c071 100644 --- a/src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java +++ b/src/test/java/com/fasterxml/jackson/databind/module/TestAbstractTypes.java @@ -2,7 +2,6 @@ package com.fasterxml.jackson.databind.module; import java.util.*; - import com.fasterxml.jackson.core.Version; import com.fasterxml.jackson.databind.BaseMapTest; import com.fasterxml.jackson.databind.ObjectMapper; @@ -65,22 +64,34 @@ public class TestAbstractTypes extends BaseMapTest assertEquals(TreeMap.class, result.getClass()); } - /* 11-Feb-2015, tatu: too tricky to fix in 2.5.x; move to 2.6 // [databind#700] - public void testMapDefaultingRecursive() throws Exception + public void testDefaultingRecursive() throws Exception { ObjectMapper mapper = new ObjectMapper(); SimpleModule mod = new SimpleModule("test", Version.unknownVersion()); - // default is HashMap, so: + + // defaults: LinkedHashMap, ArrayList mod.addAbstractTypeMapping(Map.class, TreeMap.class); + mod.addAbstractTypeMapping(List.class, LinkedList.class); + mapper.registerModule(mod); - Object result = mapper.readValue("[ {} ]", Object.class); - assertEquals(ArrayList.class, result.getClass()); + Object result; + + result = mapper.readValue("[ {} ]", Object.class); + assertEquals(LinkedList.class, result.getClass()); Object v = ((List<?>) result).get(0); assertNotNull(v); assertEquals(TreeMap.class, v.getClass()); + + result = mapper.readValue("{ \"x\": [ 3 ] }", Object.class); + assertEquals(TreeMap.class, result.getClass()); + Map<?,?> map = (Map<?,?>) result; + assertEquals(1, map.size()); + v = map.get("x"); + assertNotNull(v); + assertEquals(LinkedList.class, v.getClass()); + assertEquals(1, ((List<?>) v).size()); } - */ public void testInterfaceDefaulting() throws Exception { |