diff options
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java b/server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java new file mode 100644 index 0000000000..efba6085ac --- /dev/null +++ b/server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java @@ -0,0 +1,34 @@ +package com.vaadin.data.util; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import com.vaadin.data.fieldgroup.FieldGroup; +import com.vaadin.data.fieldgroup.PropertyId; +import com.vaadin.ui.TextField; + +public class ReflectToolsGetSuperField { + + @Test + public void getFieldFromSuperClass() { + class MyClass { + @PropertyId("testProperty") + TextField test = new TextField("This is a test"); + } + class MySubClass extends MyClass { + // no fields here + } + + PropertysetItem item = new PropertysetItem(); + item.addItemProperty("testProperty", new ObjectProperty<String>("Value of testProperty")); + + MySubClass form = new MySubClass(); + + FieldGroup binder = new FieldGroup(item); + binder.bindMemberFields(form); + + assertTrue("Value of testProperty".equals(form.test.getValue())); + } + +} |