|
|
@@ -15,9 +15,15 @@ |
|
|
|
*/ |
|
|
|
package com.vaadin.ui; |
|
|
|
|
|
|
|
import java.util.concurrent.atomic.AtomicBoolean; |
|
|
|
|
|
|
|
import org.junit.Assert; |
|
|
|
import org.junit.Test; |
|
|
|
|
|
|
|
import com.vaadin.shared.MouseEventDetails; |
|
|
|
import com.vaadin.shared.ui.checkbox.CheckBoxServerRpc; |
|
|
|
import com.vaadin.tests.util.MockUI; |
|
|
|
|
|
|
|
public class CheckBoxTest { |
|
|
|
@Test |
|
|
|
public void initiallyFalse() { |
|
|
@@ -34,6 +40,42 @@ public class CheckBoxTest { |
|
|
|
Assert.assertFalse(cb.getValue()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void setValueChangeFromClientIsUserOriginated() { |
|
|
|
UI ui = new MockUI(); |
|
|
|
CheckBox cb = new CheckBox(); |
|
|
|
ui.setContent(cb); |
|
|
|
AtomicBoolean userOriginated = new AtomicBoolean(false); |
|
|
|
cb.addValueChangeListener(e -> { |
|
|
|
userOriginated.set(e.isUserOriginated()); |
|
|
|
}); |
|
|
|
ComponentTest.syncToClient(cb); |
|
|
|
ComponentTest.getRpcProxy(cb, CheckBoxServerRpc.class).setChecked(true, |
|
|
|
new MouseEventDetails()); |
|
|
|
Assert.assertTrue(userOriginated.get()); |
|
|
|
userOriginated.set(false); |
|
|
|
ComponentTest.syncToClient(cb); |
|
|
|
ComponentTest.getRpcProxy(cb, CheckBoxServerRpc.class).setChecked(false, |
|
|
|
new MouseEventDetails()); |
|
|
|
Assert.assertTrue(userOriginated.get()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void setValueChangeFromServerIsNotUserOriginated() { |
|
|
|
UI ui = new MockUI(); |
|
|
|
CheckBox cb = new CheckBox(); |
|
|
|
ui.setContent(cb); |
|
|
|
AtomicBoolean userOriginated = new AtomicBoolean(true); |
|
|
|
cb.addValueChangeListener(e -> { |
|
|
|
userOriginated.set(e.isUserOriginated()); |
|
|
|
}); |
|
|
|
cb.setValue(true); |
|
|
|
Assert.assertFalse(userOriginated.get()); |
|
|
|
userOriginated.set(true); |
|
|
|
cb.setValue(false); |
|
|
|
Assert.assertFalse(userOriginated.get()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = NullPointerException.class) |
|
|
|
public void setValue_nullValue_throwsNPE() { |
|
|
|
CheckBox cb = new CheckBox(); |