From 84baf25f275531b7eee38dce26153baff2ebe3cd Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sat, 23 Nov 2024 21:35:04 -0800 Subject: [PATCH] Add a failing test for #256 --- .../module/jaxb/failing/TestEnums256.java | 51 +++++++++++++++++++ .../jackson/module/jaxb/misc/TestEnums.java | 11 ++-- 2 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/failing/TestEnums256.java diff --git a/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/failing/TestEnums256.java b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/failing/TestEnums256.java new file mode 100644 index 000000000..1ffc3cb54 --- /dev/null +++ b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/failing/TestEnums256.java @@ -0,0 +1,51 @@ +package com.fasterxml.jackson.module.jaxb.failing; + +import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.adapters.*; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.module.jaxb.BaseJaxbTest; + +public class TestEnums256 extends BaseJaxbTest +{ + // [modules-base#256] + @XmlRootElement(name = "document") + @XmlAccessorType(XmlAccessType.FIELD) + public static class Document256 { + + @XmlElement(name = "code") + private final Code _code; + + public Document256(Code code) { _code = code; } + + public Code getCode() { + return _code; + } + } + + @XmlEnum + @XmlType(name = "CodeType") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + public enum Code { + @XmlEnumValue("RED") + RED; + } + + /* + /********************************************************** + /* Test methods + /********************************************************** + */ + + private final ObjectMapper MAPPER = getJaxbMapper(); + + // [modules-base#256] + public void testEnumSerialize256() throws Exception + { + final Document256 document = new Document256(Code.RED); + + String json = MAPPER.writeValueAsString(document); + + assertEquals(a2q("{'code':'RED'}"), json); + } +} diff --git a/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/misc/TestEnums.java b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/misc/TestEnums.java index 50de12362..e117b9bf9 100644 --- a/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/misc/TestEnums.java +++ b/jaxb/src/test/java/com/fasterxml/jackson/module/jaxb/misc/TestEnums.java @@ -1,6 +1,6 @@ package com.fasterxml.jackson.module.jaxb.misc; -import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.*; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.module.jaxb.BaseJaxbTest; @@ -14,15 +14,16 @@ enum Numeric { A, B; } /* /********************************************************** - /* Unit tests + /* Test methods /********************************************************** */ + private final ObjectMapper MAPPER = getJaxbMapper(); + // [JACKSON-436] public void testWrapperWithCollection() throws Exception { - ObjectMapper mapper = getJaxbMapper(); - assertEquals("\"B\"", mapper.writeValueAsString(Plain.B)); - assertEquals("1", mapper.writeValueAsString(Numeric.B)); + assertEquals("\"B\"", MAPPER.writeValueAsString(Plain.B)); + assertEquals("1", MAPPER.writeValueAsString(Numeric.B)); } }