blob: 3be190beb5cffca021ee86f478875a7030c6279c [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.runtime.web.vaadin.databinding.tests.model;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables;
import com.vaadin.ui.CheckBox;
public class PropertyReadonlyTest {
@Before
public void setup() {
DefaultUI.setCurrent(new DefaultUI());
VaadinObservables.getRealm(DefaultUI.getCurrent());
}
@Test
public void test_propertyReadonly() {
CheckBox property = new CheckBox();
WritableValue value = new WritableValue();
Assert.assertNull(value.getValue());
DataBindingContext dbc = new DataBindingContext();
dbc.bindValue(value, VaadinObservables.observeReadonly(property));
Assert.assertEquals(false, value.getValue());
property.setReadOnly(true);
Assert.assertEquals(true, value.getValue());
}
@Test
public void test_propertyReadonly_updateFromTarget() {
CheckBox property = new CheckBox();
WritableValue value = new WritableValue();
Assert.assertNull(value.getValue());
DataBindingContext dbc = new DataBindingContext();
dbc.bindValue(value, VaadinObservables.observeReadonly(property));
Assert.assertEquals(false, value.getValue());
value.setValue(true);
Assert.assertTrue(property.isReadOnly());
value.setValue(false);
Assert.assertFalse(property.isReadOnly());
}
}