aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-08 14:09:19 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-08 14:09:19 -0700
commita8182eaaad61b0dcd1664fffab6f8f913194ae64 (patch)
tree7237025e02f543c1bfe6ca67862d1597ac4792be /src
parent0ea66a06a70cca0718d4d4dc5b66b1dab4405afb (diff)
downloadjackson-databind-a8182eaaad61b0dcd1664fffab6f8f913194ae64.tar.gz
Add failing test for #2785
Diffstat (limited to 'src')
-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);
+ }
}