diff options
Diffstat (limited to 'server/src/test/java')
-rw-r--r-- | server/src/test/java/com/vaadin/data/BeanBinderTest.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/data/BeanBinderTest.java b/server/src/test/java/com/vaadin/data/BeanBinderTest.java index bdcfb16d7b..2b29303c78 100644 --- a/server/src/test/java/com/vaadin/data/BeanBinderTest.java +++ b/server/src/test/java/com/vaadin/data/BeanBinderTest.java @@ -21,6 +21,7 @@ import org.junit.Test; import com.vaadin.data.BeanBinderTest.RequiredConstraints.SubConstraint; import com.vaadin.data.BeanBinderTest.RequiredConstraints.SubSubConstraint; +import com.vaadin.data.BinderInstanceFieldTest.IntegerTextField; import com.vaadin.data.converter.StringToIntegerConverter; import com.vaadin.tests.data.bean.BeanToValidate; import com.vaadin.ui.CheckBoxGroup; @@ -167,6 +168,15 @@ public class BeanBinderTest private TextField mydate = new TextField(); } + public interface TestInterface { + int getProperty(); + } + + public interface TestInterfaceWithOverwrittenMethod extends TestInterface { + @Override + int getProperty(); + } + @Before public void setUp() { binder = new BeanValidationBinder<>(BeanToValidate.class); @@ -537,6 +547,24 @@ public class BeanBinderTest assertTrue(binder.validate().isOk()); } + @Test + public void interface_extension_with_overwritten_property() { + Binder<TestInterfaceWithOverwrittenMethod> binder = new Binder<>( + TestInterfaceWithOverwrittenMethod.class); + IntegerTextField field = new IntegerTextField(); + + binder.bind(field, "property"); + TestInterfaceWithOverwrittenMethod bean = new TestInterfaceWithOverwrittenMethod() { + @Override + public int getProperty() { + return 5; + } + }; + binder.setBean(bean); + + assertEquals(Integer.valueOf(5), field.getValue()); + } + private void assertInvalid(HasValue<?> field, String message) { BinderValidationStatus<?> status = binder.validate(); List<BindingValidationStatus<?>> errors = status |