aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/test/java')
-rw-r--r--server/src/test/java/com/vaadin/data/BinderTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/data/BinderTest.java b/server/src/test/java/com/vaadin/data/BinderTest.java
index 5988061cd5..abbbe541ae 100644
--- a/server/src/test/java/com/vaadin/data/BinderTest.java
+++ b/server/src/test/java/com/vaadin/data/BinderTest.java
@@ -812,6 +812,25 @@ public class BinderTest extends BinderTestBase<Binder<Person>, Person> {
}
@Test
+ public void remove_binding_fromFieldValueChangeListener() {
+ // Add listener before bind to make sure it will be executed first.
+ nameField.addValueChangeListener(e -> {
+ if (e.getValue() == "REMOVE") {
+ binder.removeBinding(nameField);
+ }
+ });
+
+ binder.bind(nameField, Person::getFirstName, Person::setFirstName);
+
+ binder.setBean(item);
+
+ nameField.setValue("REMOVE");
+
+ // Removed binding should not update bean.
+ assertNotEquals("REMOVE", item.getFirstName());
+ }
+
+ @Test
public void beanvalidation_two_fields_not_equal() {
TextField lastNameField = new TextField();
setBeanValidationFirstNameNotEqualsLastName(nameField, lastNameField);