From 9b69534bc46e01f5a762284542db460930de44fa Mon Sep 17 00:00:00 2001 From: tapio Date: Thu, 8 Nov 2012 13:32:06 +0200 Subject: Modified FieldGroup so that fields configured with read only properties will also be made read only (#9076). Change-Id: I183ae263f4952a51513623d38dc9e04ce1482f45 --- .../tests/data/bean/BeanWithReadOnlyField.java | 18 ++++++++ .../FieldGroupWithReadOnlyPropertiesTest.java | 51 ++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 server/tests/src/com/vaadin/tests/data/bean/BeanWithReadOnlyField.java create mode 100644 server/tests/src/com/vaadin/tests/server/component/fieldgroup/FieldGroupWithReadOnlyPropertiesTest.java (limited to 'server/tests/src/com/vaadin') diff --git a/server/tests/src/com/vaadin/tests/data/bean/BeanWithReadOnlyField.java b/server/tests/src/com/vaadin/tests/data/bean/BeanWithReadOnlyField.java new file mode 100644 index 0000000000..77f5613f86 --- /dev/null +++ b/server/tests/src/com/vaadin/tests/data/bean/BeanWithReadOnlyField.java @@ -0,0 +1,18 @@ +package com.vaadin.tests.data.bean; + +public class BeanWithReadOnlyField { + private String readOnlyField; + private String writableField; + + public String getWritableField() { + return writableField; + } + + public void setWritableField(String writableField) { + this.writableField = writableField; + } + + public String getReadOnlyField() { + return readOnlyField; + } +} diff --git a/server/tests/src/com/vaadin/tests/server/component/fieldgroup/FieldGroupWithReadOnlyPropertiesTest.java b/server/tests/src/com/vaadin/tests/server/component/fieldgroup/FieldGroupWithReadOnlyPropertiesTest.java new file mode 100644 index 0000000000..60a92d7d73 --- /dev/null +++ b/server/tests/src/com/vaadin/tests/server/component/fieldgroup/FieldGroupWithReadOnlyPropertiesTest.java @@ -0,0 +1,51 @@ +package com.vaadin.tests.server.component.fieldgroup; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import com.vaadin.data.fieldgroup.FieldGroup; +import com.vaadin.data.util.BeanItem; +import com.vaadin.tests.data.bean.BeanWithReadOnlyField; +import com.vaadin.ui.TextField; + +public class FieldGroupWithReadOnlyPropertiesTest { + + private TextField readOnlyField = new TextField(); + private TextField writableField = new TextField(); + + @Test + public void bindReadOnlyPropertyToFieldGroup() { + BeanWithReadOnlyField bean = new BeanWithReadOnlyField(); + BeanItem beanItem = new BeanItem( + bean); + beanItem.getItemProperty("readOnlyField").setReadOnly(true); + + FieldGroup fieldGroup = new FieldGroup(beanItem); + fieldGroup.bindMemberFields(this); + + assertTrue(readOnlyField.isReadOnly()); + assertFalse(writableField.isReadOnly()); + } + + @Test + public void fieldGroupSetReadOnlyTest() { + BeanWithReadOnlyField bean = new BeanWithReadOnlyField(); + BeanItem beanItem = new BeanItem( + bean); + beanItem.getItemProperty("readOnlyField").setReadOnly(true); + + FieldGroup fieldGroup = new FieldGroup(beanItem); + fieldGroup.bindMemberFields(this); + + fieldGroup.setReadOnly(true); + assertTrue(readOnlyField.isReadOnly()); + assertTrue(writableField.isReadOnly()); + + fieldGroup.setReadOnly(false); + assertTrue(readOnlyField.isReadOnly()); + assertFalse(writableField.isReadOnly()); + } + +} -- cgit v1.2.3