aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2018-05-01 20:58:32 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2018-05-01 20:58:32 -0700
commit90337ecacbeef048e842a6331a3256466d0bd5c9 (patch)
tree84e5a5076b3432b77cdfbd2d554ba2da37385620 /src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java
parenteafac26deb5163412bbb7a42cdec247119150684 (diff)
downloadjackson-databind-90337ecacbeef048e842a6331a3256466d0bd5c9.tar.gz
Add failing test for #2016
Diffstat (limited to 'src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java')
-rw-r--r--src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java35
1 files changed, 29 insertions, 6 deletions
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java b/src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java
index aca376674..692607fe5 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java
+++ b/src/test/java/com/fasterxml/jackson/databind/deser/creators/TestCreatorsDelegating.java
@@ -1,15 +1,15 @@
package com.fasterxml.jackson.databind.deser.creators;
-import com.fasterxml.jackson.annotation.JsonCreator;
-
-import java.util.Map;
+import java.util.*;
import com.fasterxml.jackson.annotation.JacksonInject;
+import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.*;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.util.TokenBuffer;
public class TestCreatorsDelegating extends BaseMapTest
@@ -82,14 +82,28 @@ public class TestCreatorsDelegating extends BaseMapTest
this.map = map;
}
}
-
+
+ // [databind#2016]
+ static class Wrapper2016 {
+ private final List<String> value;
+
+ @JsonCreator //(mode = JsonCreator.Mode.DELEGATING)
+ public Wrapper2016(@JsonDeserialize(as = LinkedList.class) List<String> value) {
+ this.value = value;
+ }
+
+ public List<String> getValue() {
+ return value;
+ }
+ }
+
/*
/**********************************************************
- /* Unit tests
+ /* Test methods
/**********************************************************
*/
- private final ObjectMapper MAPPER = new ObjectMapper();
+ private final ObjectMapper MAPPER = newObjectMapper();
public void testBooleanDelegate() throws Exception
{
@@ -180,4 +194,13 @@ public class TestCreatorsDelegating extends BaseMapTest
bean = MAPPER.readValue(EMPTY_JSON, MapBean.class);
assertEquals(0, bean.map.size());
}
+
+ // [databind#2016]
+ public void testCreatorWithDeserializeAs2016() throws Exception
+ {
+ String json = "[\"Hello, World!\"]";
+ Wrapper2016 actual = MAPPER.readValue(json, Wrapper2016.class);
+ assertEquals(Collections.singletonList("Hello, World!"), actual.getValue());
+ assertEquals(LinkedList.class, actual.getValue().getClass());
+ }
}