@@ -0,0 +1,2526 @@
+package com.fasterxml.jackson.dataformat.xml.failing;%0A%0Aimport java.util.List;%0A%0Aimport com.fasterxml.jackson.annotation.JsonProperty;%0Aimport com.fasterxml.jackson.annotation.JsonSubTypes;%0Aimport com.fasterxml.jackson.annotation.JsonTypeInfo;%0Aimport com.fasterxml.jackson.annotation.JsonTypeName;%0Aimport com.fasterxml.jackson.databind.ObjectMapper;%0A%0Aimport com.fasterxml.jackson.dataformat.xml.XmlTestBase;%0A%0A// Tests for %5Bdataformat-xml#525%5D, related to relative order of %22type%22%0A// property (as attribute) compared to other properties%0Apublic class TypeInfoOrder525Test extends XmlTestBase%0A%7B%0A    @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = %22type%22)%0A    @JsonSubTypes(%7B%0A            @JsonSubTypes.Type(value = ClassInfo525.class)%0A    %7D)%0A    abstract static class TypeInfo525 %7B%0A%0A    %7D%0A%0A    @JsonTypeName(%22ClassInfo%22)%0A    static class ClassInfo525 extends TypeInfo525 %7B%0A        @JsonProperty List%3CClassInfoElement525%3E element;%0A        @JsonProperty String name;%0A    %7D%0A%0A    static class ClassInfoElement525 %7B%0A        @JsonProperty BindingInfo525 binding;%0A    %7D%0A%0A    static class BindingInfo525 %7B%0A        @JsonProperty String description;%0A    %7D%0A%0A    /*%0A    /**********************************************************************%0A    /* Test methods%0A    /**********************************************************************%0A     */%0A%0A    private final ObjectMapper MAPPER = mapperBuilder()%0A            .defaultUseWrapper(false)%0A            .build();%0A%0A    public void testTypeAfterOtherProperties() throws Exception %7B%0A        String xml =%0A                %22  %3CtypeInfo name=%5C%22MyName%5C%22 type=%5C%22ClassInfo%5C%22%3E%5Cn%22 +%0A                %22    %3Celement%3E%5Cn%22 +%0A                %22      %3Cbinding description=%5C%22Test%5C%22/%3E%5Cn%22 +%0A                %22    %3C/element%3E%5Cn%22 +%0A                %22  %3C/typeInfo%3E%22;%0A%0A        TypeInfo525 m = MAPPER.readValue(xml, TypeInfo525.class);%0A        assertEquals(%22MyName%22, ((ClassInfo525)m).name);%0A        assertEquals(%22Test%22, ((ClassInfo525)m).element.get(0).binding.description);%0A    %7D%0A%0A    public void testTypeBeforeOtherProperties() throws Exception %7B%0A        String xml =%0A                %22  %3CtypeInfo type=%5C%22ClassInfo%5C%22 name=%5C%22MyName%5C%22%3E%5Cn%22 +%0A                %22    %3Celement%3E%5Cn%22 +%0A                %22      %3Cbinding description=%5C%22Test%5C%22/%3E%5Cn%22 +%0A                %22    %3C/element%3E%5Cn%22 +%0A                %22  %3C/typeInfo%3E%22;%0A%0A        TypeInfo525 m = MAPPER.readValue(xml, TypeInfo525.class);%0A        assertEquals(%22MyName%22, ((ClassInfo525)m).name);%0A        assertEquals(%22Test%22, ((ClassInfo525)m).element.get(0).binding.description);%0A    %7D%0A%7D%0A

Add a failing test for #525