@@ -0,0 +1,3111 @@
+package com.fasterxml.jackson.dataformat.xml.failing;%0A%0Aimport java.util.*;%0A%0Aimport com.fasterxml.jackson.annotation.JsonPropertyOrder;%0A%0Aimport com.fasterxml.jackson.dataformat.xml.XmlMapper;%0Aimport com.fasterxml.jackson.dataformat.xml.XmlTestBase;%0Aimport com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;%0Aimport com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;%0A%0A// Actual reproduction of %5Bdataformat-xml#469%5D: quite specific set up%0A// needed, alas%0Apublic class ListDeser469FailingTest extends XmlTestBase%0A%7B%0A    static class OuterBean %7B%0A        public MiddleBean middle;%0A    %7D%0A%0A    @JsonPropertyOrder(%7B%22inner1%22, %22inner2%22%7D)%0A    static class MiddleBean%0A    %7B%0A        public InnerBean1 inner1;%0A%0A        @JacksonXmlElementWrapper(useWrapping = false)%0A        public List%3CInnerBean2%3E inner2;%0A    %7D%0A%0A    static class InnerBean1%0A    %7B%0A        public String str;%0A%0A        // Fail if (and only if!) wrapping disabled, by default or via%0A        // annotations%0A        // (that is; if this is commented out, passes)%0A        @JacksonXmlElementWrapper(useWrapping = false)%0A        public List%3CInnerBean1Item%3E item;%0A    %7D%0A%0A    static class InnerBean1Item%0A    %7B%0A        @JacksonXmlProperty(isAttribute = true)%0A        public String id;%0A    %7D%0A%0A    static class InnerBean2%0A    %7B%0A        @JacksonXmlProperty(isAttribute = true)%0A        public String str2;%0A%0A        protected InnerBean2() %7B %7D%0A        public InnerBean2(String s) %7B str2 = s; %7D%0A    %7D%0A%0A    /*%0A    /**********************************************************************%0A    /* Test methods%0A    /**********************************************************************%0A     */%0A%0A    public void testIssue469WithDefaults() throws Exception%0A    %7B%0A        // Here we just use default settings (which defaults to using wrappers)%0A        final XmlMapper mapper = newMapper();%0A%0A        // First: create POJO value to test round-trip:%0A        %7B%0A            OuterBean source = new OuterBean();%0A            source.middle = new MiddleBean();%0A            List%3CInnerBean2%3E items = new ArrayList%3C%3E();%0A            items.add(new InnerBean2(%22foo%22));%0A            source.middle.inner2 = items;%0A%0A            String xml = mapper.writerWithDefaultPrettyPrinter()%0A                    .writeValueAsString(source);%0A%0A            OuterBean result = mapper.readValue(xml, OuterBean.class);%0A%0A            MiddleBean mid = result.middle;%0A            assertNotNull(mid);%0A            assertNotNull(mid.inner2);%0A            assertEquals(1, mid.inner2.size());%0A            assertEquals(%22foo%22, mid.inner2.get(0).str2);%0A        %7D%0A%0A        // And then verify from XML String%0A        String xmlInput = %22%3COuterBean%3E%5Cn%22 +%0A            %22  %3Cmiddle%3E%5Cn%22 +%0A            %22    %3Cinner1/%3E%5Cn%22 +%0A            %22    %3Cinner2 str2='aaaa'/%3E%5Cn%22 +%0A            %22  %3C/middle%3E%5Cn%22 +%0A            %22%3C/OuterBean%3E%5Cn%22;%0A%0A        OuterBean outer = mapper.readValue(xmlInput, OuterBean.class);%0A%0A        MiddleBean mid = outer.middle;%0A        assertNotNull(mid);%0A%0A        assertNotNull(mid.inner2);%0A        assertEquals(1, mid.inner2.size());%0A        assertEquals(%22aaaa%22, mid.inner2.get(0).str2);%0A    %7D%0A%7D%0A

Add actual failing test for #469