diff --git a/src/test/java/com/fasterxml/jackson/databind/format/EnumFormatShapeTest.java b/src/test/java/com/fasterxml/jackson/databind/format/EnumFormatShapeTest.java index 4e11a8ed04..9a376a171d 100644 --- a/src/test/java/com/fasterxml/jackson/databind/format/EnumFormatShapeTest.java +++ b/src/test/java/com/fasterxml/jackson/databind/format/EnumFormatShapeTest.java @@ -1,5 +1,8 @@ package com.fasterxml.jackson.databind.format; +import java.util.Collections; +import java.util.Map; + import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat.Shape; @@ -70,6 +73,24 @@ static class ColorWrapper { } } + // [databind#2576] + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum Enum2576 { + DEFAULT("default"), + ATTRIBUTES("attributes") { + @Override + public String toString() { + return name(); + } + }; + + private final String key; + private Enum2576(String key) { + this.key = key; + } + public String getKey() { return this.key; } + } + /* /********************************************************** /* Tests @@ -113,4 +134,12 @@ public void testEnumPropertyAsNumber() throws Exception { assertEquals(String.format(aposToQuotes("{'color':%s}"), Color.GREEN.ordinal()), MAPPER.writeValueAsString(new ColorWrapper(Color.GREEN))); } + + // [databind#2576] + public void testEnumWithMethodOverride() throws Exception { + String stringResult = MAPPER.writeValueAsString(Enum2576.ATTRIBUTES); + Map result = MAPPER.readValue(stringResult, Map.class); + Map exp = Collections.singletonMap("key", "attributes"); + assertEquals(exp, result); + } }