diff --git a/core/src/test/java/org/kohsuke/stapler/DataBindingTest.java b/core/src/test/java/org/kohsuke/stapler/DataBindingTest.java index 5e29e76393..e0a490acea 100644 --- a/core/src/test/java/org/kohsuke/stapler/DataBindingTest.java +++ b/core/src/test/java/org/kohsuke/stapler/DataBindingTest.java @@ -3,6 +3,8 @@ import junit.framework.TestCase; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.beanutils.FluentPropertyBeanIntrospector; +import org.junit.Test; import javax.annotation.PostConstruct; import java.lang.reflect.Type; @@ -398,4 +400,34 @@ public void testDerivedProperty() { DerivedProperty r = bind("{items:[1,3,5]}",DerivedProperty.class); assertEquals(Arrays.asList(1,3,5),r.getItems()); } + + public static class FluentSetter { + private List items; + + @DataBoundConstructor + public FluentSetter() {} + + /** + * WIP This tests passes in stapler, bad fluent doesn't work in jenkins... + * @see FluentPropertyBeanIntrospector + * + * It is also possible to transform it to `withXXX()` to have clear vision. + */ + @DataBoundSetter +// public void setItems(List items) { + public FluentSetter setItems(List items) { + this.items = items; + return this; + } + + public List getItems() { + return items; + } + } + + + public void testFluentSetter() { + FluentSetter fl = bind("{items : 'someItem'}", FluentSetter.class); + assertEquals(Arrays.asList("someItem"), fl.getItems()); + } }