@@ -0,0 +1,3071 @@
+package com.fasterxml.jackson.failing;%0A%0Aimport com.fasterxml.jackson.annotation.*;%0Aimport com.fasterxml.jackson.databind.*;%0Aimport com.fasterxml.jackson.databind.introspect.AnnotatedMember;%0Aimport com.fasterxml.jackson.databind.introspect.AnnotatedMethod;%0Aimport com.fasterxml.jackson.databind.introspect.AnnotatedParameter;%0Aimport com.fasterxml.jackson.databind.introspect.AnnotatedWithParams;%0Aimport com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;%0A%0Apublic class DelegatingCreatorImplicitNames1001Test extends BaseMapTest%0A%7B%0A    static class D%0A    %7B%0A        private String raw1 = %22%22;%0A        private String raw2 = %22%22;%0A%0A        private D(String raw1, String raw2) %7B%0A            this.raw1 = raw1;%0A            this.raw2 = raw2;%0A        %7D%0A%0A        // not needed strictly speaking, but added for good measure%0A        @JsonCreator(mode=JsonCreator.Mode.DELEGATING)%0A        public static D make(String value) %7B%0A            String%5B%5D split = value.split(%22:%22);%0A            return new D(split%5B0%5D, split%5B1%5D);%0A        %7D%0A%0A        @JsonValue%0A        public String getMyValue() %7B%0A            return raw1 + %22:%22 + raw2;%0A        %7D%0A%0A        @Override%0A        public String toString() %7B%0A            return getMyValue();%0A        %7D%0A%0A        @Override%0A        public boolean equals(Object o) %7B%0A            D other = (D) o;%0A            return other.raw1.equals(raw1)%0A                    && other.raw2.equals(raw2);%0A        %7D%0A    %7D%0A%0A    // To test equivalent of parameter-names, let's use this one%0A    protected static class CreatorNameIntrospector extends JacksonAnnotationIntrospector%0A    %7B%0A        private static final long serialVersionUID = 1L;%0A%0A        @Override%0A        public String findImplicitPropertyName(AnnotatedMember member) %7B%0A            if (member instanceof AnnotatedParameter) %7B%0A                AnnotatedParameter p = (AnnotatedParameter) member;%0A                AnnotatedWithParams owner = p.getOwner();%0A                if (owner instanceof AnnotatedMethod) %7B%0A                    if (p.getIndex() == 0) %7B%0A                        return %22value%22;%0A                    %7D%0A                %7D%0A            %7D%0A            return super.findImplicitPropertyName(member);%0A        %7D%0A    %7D%0A%0A    // Baseline test to show how things should work%0A    public void testWithoutNamedParameters() throws Exception%0A    %7B%0A        ObjectMapper sut = new ObjectMapper();%0A%0A        D d = D.make(%22abc:def%22);%0A%0A        String actualJson = sut.writeValueAsString(d);%0A        D actualD = sut.readValue(actualJson, D.class);%0A%0A        assertEquals(%22%5C%22abc:def%5C%22%22, actualJson);%0A        assertEquals(d, actualD);%0A    %7D%0A%0A    // And then case that fails with %5Bdatabind#1001%5D%0A    public void testWithNamedParameters() throws Exception%0A    %7B%0A        ObjectMapper sut = new ObjectMapper()%0A            .setAnnotationIntrospector(new CreatorNameIntrospector());%0A%0A        D d = D.make(%22abc:def%22);%0A%0A        String actualJson = sut.writeValueAsString(d);%0A        D actualD = sut.readValue(actualJson, D.class);%0A%0A        assertEquals(%22%5C%22abc:def%5C%22%22, actualJson);%0A        assertEquals(d, actualD);%0A    %7D%0A%7D%0A

Add a failing test for #1001