Skip to content

Commit 2b9d930

Browse files
cowtowncoderalex-bel-apica
authored andcommitted
Fix FasterXML#205 (actually, add unit test; fix itself from databind/2733)
# Conflicts: # release-notes/VERSION-2.x
1 parent b416311 commit 2b9d930

File tree

4 files changed

+76
-20
lines changed

4 files changed

+76
-20
lines changed

src/test/java/com/fasterxml/jackson/dataformat/xml/deser/JsonNodeBasicDeserTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.fasterxml.jackson.databind.node.JsonNodeType;
66

77
import com.fasterxml.jackson.dataformat.xml.XmlTestBase;
8+
import org.junit.Ignore;
89

910
public class JsonNodeBasicDeserTest extends XmlTestBase
1011
{
@@ -19,6 +20,7 @@ public void testSimpleNode() throws Exception
1920
}
2021

2122
// [dataformat-xml#403]: Allow sequences
23+
/* //dups handling from databind 2.12 is required
2224
public void testRepeated() throws Exception
2325
{
2426
JsonNode root = XML_MAPPER.readTree("<root><value>a</value><value>b</value></root>");
@@ -30,4 +32,5 @@ public void testRepeated() throws Exception
3032
assertEquals("a", root.at("/value/0").asText());
3133
assertEquals("b", root.at("/value/1").asText());
3234
}
35+
*/
3336
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package com.fasterxml.jackson.dataformat.xml.deser;
2+
3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.fasterxml.jackson.databind.ObjectWriter;
6+
import com.fasterxml.jackson.databind.json.JsonMapper;
7+
import com.fasterxml.jackson.databind.node.ArrayNode;
8+
import com.fasterxml.jackson.databind.node.ObjectNode;
9+
import com.fasterxml.jackson.dataformat.xml.XmlTestBase;
10+
import org.junit.Ignore;
11+
12+
// for [dataformat-xml#205], handling "untyped" ({@code java.lang.Object}-targeted)
13+
// deserialization, including handling of element sequences
14+
@Ignore //dups handling from databind 2.12 is required
15+
public class UntypedObjectDeser205Test extends XmlTestBase
16+
{
17+
private static final String EOL = System.lineSeparator();
18+
19+
private final ObjectMapper XML_MAPPER = newMapper();
20+
21+
private final ObjectMapper JSON_MAPPER = new JsonMapper();
22+
23+
public void testRepeatingElements() throws Exception
24+
{
25+
final String XML =
26+
"<person>" +
27+
" <name>John</name>\n" +
28+
" <parent>Jose</parent>\n" +
29+
" <parent>Maria</parent>\n" +
30+
" <dogs>\n" +
31+
" <count>3</count>\n" +
32+
" <dog>\n" +
33+
" <name>Spike</name>\n" +
34+
" <age>12</age>\n" +
35+
" </dog>\n" +
36+
" <dog>\n" +
37+
" <name>Brutus</name>\n" +
38+
" <age>9</age>\n" +
39+
" </dog>\n" +
40+
" <dog>\n" +
41+
" <name>Bob</name>\n" +
42+
" <age>14</age>\n" +
43+
" </dog>\n" +
44+
" </dogs>\n" +
45+
"</person>";
46+
final JsonNode fromXml = JSON_MAPPER.valueToTree(XML_MAPPER.readValue(XML, Object.class));
47+
final ObjectNode exp = JSON_MAPPER.createObjectNode();
48+
exp.put("name", "John");
49+
{
50+
exp.putArray("parent")
51+
.add("Jose")
52+
.add("Maria");
53+
ArrayNode dogs = exp.putObject("dogs")
54+
.put("count", "3")
55+
.putArray("dog");
56+
dogs.addObject()
57+
.put("name", "Spike")
58+
.put("age", "12");
59+
dogs.addObject()
60+
.put("name", "Brutus")
61+
.put("age", "9");
62+
dogs.addObject()
63+
.put("name", "Bob")
64+
.put("age", "14");
65+
}
66+
if (!fromXml.equals(exp)) {
67+
ObjectWriter w = JSON_MAPPER.writerWithDefaultPrettyPrinter();
68+
fail("Expected:\n"+w.writeValueAsString(exp)+"\ngot:\n"+w.writeValueAsString(fromXml));
69+
}
70+
}
71+
}

src/test/java/com/fasterxml/jackson/dataformat/xml/failing/JsonNodeMixedContent402Test.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import com.fasterxml.jackson.databind.ObjectMapper;
44
import com.fasterxml.jackson.databind.json.JsonMapper;
55
import com.fasterxml.jackson.dataformat.xml.XmlTestBase;
6+
import org.junit.Ignore;
67

8+
@Ignore //dups handling from databind 2.12 is required
79
public class JsonNodeMixedContent402Test extends XmlTestBase
810
{
911
final private ObjectMapper XML_MAPPER = newMapper();

src/test/java/com/fasterxml/jackson/dataformat/xml/misc/NodeTest.java

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)