diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/enums/EnumDefaultReadTest.java b/src/test/java/com/fasterxml/jackson/databind/deser/enums/EnumDefaultReadTest.java index 9b612036aa..4e036b93d6 100644 --- a/src/test/java/com/fasterxml/jackson/databind/deser/enums/EnumDefaultReadTest.java +++ b/src/test/java/com/fasterxml/jackson/databind/deser/enums/EnumDefaultReadTest.java @@ -90,7 +90,8 @@ enum MixinOverloadedDefault { /* Test methods /********************************************************** */ - private final ObjectMapper MAPPER = new ObjectMapper(); + + private final ObjectMapper MAPPER = newJsonMapper(); @Test public void testWithoutCustomFeatures() throws Exception diff --git a/src/test/java/com/fasterxml/jackson/failing/EnumDefaultRead4403Test.java b/src/test/java/com/fasterxml/jackson/failing/EnumDefaultRead4403Test.java new file mode 100644 index 0000000000..1a86db577c --- /dev/null +++ b/src/test/java/com/fasterxml/jackson/failing/EnumDefaultRead4403Test.java @@ -0,0 +1,49 @@ +package com.fasterxml.jackson.failing; + +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonProperty; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectReader; + +import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.newJsonMapper; +import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.q; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class EnumDefaultRead4403Test +{ + // [databind#4403] + enum Brand4403 { + @JsonProperty("005") + SEAT, + + @JsonProperty("006") + HYUNDAI, + @JsonEnumDefaultValue + OTHER + } + + /* + /********************************************************** + /* Test methods + /********************************************************** + */ + + private final ObjectMapper MAPPER = newJsonMapper(); + + // [databind#4403] + @Test + public void readFromDefault4403() throws Exception + { + ObjectReader r = MAPPER.readerFor(Brand4403.class) + .with(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE); + assertEquals(Brand4403.SEAT, r.readValue(q("005"))); + assertEquals(Brand4403.HYUNDAI, r.readValue(q("006"))); + assertEquals(Brand4403.OTHER, r.readValue(q("x"))); + assertEquals(Brand4403.OTHER, r.readValue(q("001"))); + } + +}