Modify release info a bit (as JACKSON-377 was merged to 1.5.x), add a unit test
diff --git a/release-notes/CREDITS b/release-notes/CREDITS
index 592e477..0a1bcc1 100644
--- a/release-notes/CREDITS
+++ b/release-notes/CREDITS
@@ -356,6 +356,11 @@
* Reported [JACKSON-355] Handling of BigInteger with JsonNode not correct
[1.5.7]
+Dimitry Lisay:
+ * Reported [JACKSON-370] TreeTraversingParser.skipChildren() was not
+ correctly skipping children
+ [1.5.7]
+
Brian Oberman:
* Requested [JACKSON-289] Ability to serialize char[] values as JSON Arrays
with String values of length 1 (and accepting these on deserialization)
@@ -401,8 +406,4 @@
XMLGregorianCalendar now uses same Date/Calendar serialization as other date types.
[1.6.0]
-Kirill Stokoz:
- * Reported [JACKSON-377] ThrowableDeserializer was not properly using information from
- @JsonCreator or @JsonAnySetter
- [1.6.1]
\ No newline at end of file
diff --git a/release-notes/VERSION b/release-notes/VERSION
index fa0bd76..2f2b63a 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -11,9 +11,6 @@
* [JACKSON-372] handle missing primitive type values for @JsonCreator gracefully (with defaults)
* [JACKSON-376] writing binary data as object field value with Smile failed
(reported by Shay B)
- * [JACKSON-377] ThrowableDeserializer was not properly using information from
- @JsonCreator or @JsonAnySetter
- (reported by Kirill S)
* all fixes from 1.5.x up to 1.5.7
------------------------------------------------------------------------
diff --git a/src/test/org/codehaus/jackson/map/jsontype/TestDefaultForEnums.java b/src/test/org/codehaus/jackson/map/jsontype/TestDefaultForEnums.java
new file mode 100644
index 0000000..2891cd7
--- /dev/null
+++ b/src/test/org/codehaus/jackson/map/jsontype/TestDefaultForEnums.java
@@ -0,0 +1,55 @@
+package org.codehaus.jackson.map.jsontype;
+
+import org.codehaus.jackson.map.BaseMapTest;
+import org.codehaus.jackson.map.ObjectMapper;
+
+public class TestDefaultForEnums
+ extends BaseMapTest
+{
+ public enum TestEnum {
+ A, B;
+ }
+
+ static final class EnumHolder
+ {
+ public Object value; // "untyped"
+
+ public EnumHolder() { }
+ public EnumHolder(TestEnum e) { value = e; }
+ }
+
+ /*
+ /**********************************************************
+ /* Test methods
+ /**********************************************************
+ */
+
+ /**
+ * Serialization within Object[] is simpler, test first
+ */
+ public void testSimpleEnumsInObjectArray() throws Exception
+ {
+ ObjectMapper m = new ObjectMapper();
+ m.enableDefaultTyping();
+
+ // Typing is needed for enums
+// String json = m.typedWriter(Object.class).writeValueAsString(TestEnum.A);
+ String json = m.writeValueAsString(new Object[] { TestEnum.A });
+ assertEquals("[[\"org.codehaus.jackson.map.jsontype.TestDefaultForEnums$TestEnum\",\"A\"]]", json);
+
+ // and let's verify we get it back ok as well:
+ Object[] value = m.readValue(json, Object[].class);
+ assertEquals(1, value.length);
+ assertSame(TestEnum.A, value[0]);
+ }
+
+ public void testSimpleEnumsAsField() throws Exception
+ {
+ ObjectMapper m = new ObjectMapper();
+ m.enableDefaultTyping();
+ String json = m.writeValueAsString(new EnumHolder(TestEnum.B));
+ assertEquals("{\"value\":[\"org.codehaus.jackson.map.jsontype.TestDefaultForEnums$TestEnum\",\"B\"]}", json);
+ EnumHolder holder = m.readValue(json, EnumHolder.class);
+ assertSame(TestEnum.B, holder.value);
+ }
+}