aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-08 14:09:45 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-08 14:09:45 -0700
commit99b45a5671a9c86ae8e4cfa9f6821d763b2af293 (patch)
tree88b5da57662492fd0ee389ce8362c28234d4b73f
parent01f4caeebf0c1ccb5072fb3173fd0037688a8c2f (diff)
parenta8182eaaad61b0dcd1664fffab6f8f913194ae64 (diff)
downloadjackson-databind-99b45a5671a9c86ae8e4cfa9f6821d763b2af293.tar.gz
Merge branch '2.11' into 2.12
-rw-r--r--src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java b/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java
index fa9cf27fa..d92300a35 100644
--- a/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java
+++ b/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java
@@ -5,8 +5,13 @@ import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.databind.*;
+// Tests for
+//
+// [databind#2644]
+// [databind#2785]
public class JDKNumberDeser2644Test extends BaseMapTest
{
// [databind#2644]
@@ -35,6 +40,16 @@ public class JDKNumberDeser2644Test extends BaseMapTest
}
}
+ // [databind#2785]
+ static class BigDecimalHolder2785 {
+ public BigDecimal value;
+ }
+
+ static class NestedBigDecimalHolder2785 {
+ @JsonUnwrapped
+ public BigDecimalHolder2785 holder;
+ }
+
// [databind#2644]
public void testBigDecimalSubtypes() throws Exception
{
@@ -50,7 +65,22 @@ public class JDKNumberDeser2644Test extends BaseMapTest
);
assertEquals(new BigDecimal("9999999999999999.99"), root.node.getVal());
-
}
+ // [databind#2785]
+
+ public void testBigDecimalUnwrapped() throws Exception
+ {
+ final ObjectMapper mapper = newJsonMapper();
+ // mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
+ final String JSON = "{\"value\": 5.00}";
+
+ // first simple working case:
+ BigDecimalHolder2785 holder = mapper.readValue(JSON, BigDecimalHolder2785.class);
+ assertEquals(new BigDecimal("5.00"), holder.value);
+
+ // and then one that doesn't
+ NestedBigDecimalHolder2785 result = mapper.readValue(JSON, NestedBigDecimalHolder2785.class);
+ assertEquals(new BigDecimal("5.00"), result.holder.value);
+ }
}