Skip to content

Commit

Permalink
Simplify failing #469 test to minimal repro
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed May 3, 2021
1 parent e7300de commit 64532a1
Showing 1 changed file with 24 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import java.util.*;

import com.fasterxml.jackson.annotation.JsonPropertyOrder;

import com.fasterxml.jackson.annotation.JsonRootName;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.XmlTestBase;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
Expand All @@ -13,12 +13,9 @@
// needed, alas
public class ListDeser469FailingTest extends XmlTestBase
{
static class OuterBean {
public MiddleBean middle;
}

@JsonPropertyOrder({"inner1", "inner2"})
static class MiddleBean
@JsonRootName("outer")
static class Outer469
{
public InnerBean1 inner1;

Expand Down Expand Up @@ -64,40 +61,35 @@ public void testIssue469WithDefaults() throws Exception
final XmlMapper mapper = newMapper();

// First: create POJO value to test round-trip:
{
OuterBean source = new OuterBean();
source.middle = new MiddleBean();
if (true) {
Outer469 source = new Outer469();
List<InnerBean2> items = new ArrayList<>();
items.add(new InnerBean2("foo"));
source.middle.inner2 = items;
source.inner2 = items;

String xml = mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(source);
//System.err.println("XML: \n"+xml);
Outer469 result = mapper.readValue(xml, Outer469.class);

OuterBean result = mapper.readValue(xml, OuterBean.class);

MiddleBean mid = result.middle;
assertNotNull(mid);
assertNotNull(mid.inner2);
assertEquals(1, mid.inner2.size());
assertEquals("foo", mid.inner2.get(0).str2);
assertNotNull(result);
assertNotNull(result.inner2);
assertEquals(1, result.inner2.size());
assertEquals("foo", result.inner2.get(0).str2);
}

// And then verify from XML String
String xmlInput = "<OuterBean>\n" +
" <middle>\n" +
" <inner1/>\n" +
" <inner2 str2='aaaa'/>\n" +
" </middle>\n" +
"</OuterBean>\n";

OuterBean outer = mapper.readValue(xmlInput, OuterBean.class);

MiddleBean mid = outer.middle;
assertNotNull(mid);

assertNotNull(mid.inner2);
assertEquals(1, mid.inner2.size());
assertEquals("aaaa", mid.inner2.get(0).str2);
String xmlInput =
"<outer>\n" +
" <inner1/>\n" +
" <inner2 str2='aaaa'/>\n" +
"</outer>\n";

Outer469 result = mapper.readValue(xmlInput, Outer469.class);
assertNotNull(result);

assertNotNull(result.inner2);
assertEquals(1, result.inner2.size());
assertEquals("aaaa", result.inner2.get(0).str2);
}
}

0 comments on commit 64532a1

Please sign in to comment.