diff --git a/src/test/java/tools/jackson/module/scala/AnnotatedColor.java b/src/test/java/tools/jackson/module/scala/AnnotatedColor.java new file mode 100644 index 00000000..761848ed --- /dev/null +++ b/src/test/java/tools/jackson/module/scala/AnnotatedColor.java @@ -0,0 +1,7 @@ +package tools.jackson.module.scala; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum AnnotatedColor { + @JsonProperty("red") RED +} diff --git a/src/test/scala/tools/jackson/module/scala/ser/MapSerializerTest.scala b/src/test/scala/tools/jackson/module/scala/ser/MapSerializerTest.scala index 299f50e4..8af43e4f 100644 --- a/src/test/scala/tools/jackson/module/scala/ser/MapSerializerTest.scala +++ b/src/test/scala/tools/jackson/module/scala/ser/MapSerializerTest.scala @@ -6,7 +6,7 @@ import tools.jackson.core.JsonGenerator import tools.jackson.databind.annotation.JsonSerialize import tools.jackson.databind.json.JsonMapper import tools.jackson.databind.{SerializationContext, ValueSerializer} -import tools.jackson.module.scala.{DefaultScalaModule, JacksonModule} +import tools.jackson.module.scala.{AnnotatedColor, DefaultScalaModule, JacksonModule} import scala.annotation.meta.getter import scala.beans.BeanProperty @@ -20,7 +20,6 @@ class TupleKeySerializer extends ValueSerializer[Product] { } } - object MapSerializerTest { class BeanieWeenie(@BeanProperty @JsonProperty("a") var a: Int, @@ -105,4 +104,9 @@ class MapSerializerTest extends SerializerTest { val wrapper = MapValueBaseWrapper(Map("Double" -> MapValueDouble(1.0), "String" -> MapValueString("word"))) serialize(wrapper) should be ("""{"map":{"Double":{"type":"MapValueDouble","value":1.0},"String":{"type":"MapValueString","value":"word"}}}""") } + + it should "support JsonProperty annotation on Java enum key" in { + val map = Map(AnnotatedColor.RED -> "redValue") + newMapper.writeValueAsString(map) shouldEqual """{"red":"redValue"}""" + } }