package com.vaadin.v7.tests.server.component.fieldgroup;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import com.vaadin.tests.data.bean.BeanWithReadOnlyField;
import com.vaadin.v7.data.fieldgroup.FieldGroup;
import com.vaadin.v7.data.util.BeanItem;
import com.vaadin.v7.ui.TextField;
public class FieldGroupWithReadOnlyPropertiesTest {
private TextField readOnlyField = new TextField();
private TextField writableField = new TextField();
@Test
public void bindReadOnlyPropertyToFieldGroup() {
BeanWithReadOnlyField bean = new BeanWithReadOnlyField();
BeanItem<BeanWithReadOnlyField> beanItem = new BeanItem<BeanWithReadOnlyField>(
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<BeanWithReadOnlyField> beanItem = new BeanItem<BeanWithReadOnlyField>(
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());
}
}