aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/test/java
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2016-08-23 12:06:16 +0300
committerVaadin Code Review <review@vaadin.com>2016-08-24 13:35:25 +0000
commitdd1b81a2c25cc4413eab462c3724e2dba6b87f84 (patch)
tree81a7d68eaf253076a7505b5bc49db201d8ab95fe /server/src/test/java
parent87e0a08b6059add166b46b8b4379791a40ff0ede (diff)
downloadvaadin-framework-dd1b81a2c25cc4413eab462c3724e2dba6b87f84.tar.gz
vaadin-framework-dd1b81a2c25cc4413eab462c3724e2dba6b87f84.zip
Make binder set null values correctly
Change-Id: I5edf6136f155a9ee5dc5fd6286004f4e8cd8c3db
Diffstat (limited to 'server/src/test/java')
-rw-r--r--server/src/test/java/com/vaadin/data/BinderTest.java23
1 files changed, 23 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 a93916f729..331d4d30de 100644
--- a/server/src/test/java/com/vaadin/data/BinderTest.java
+++ b/server/src/test/java/com/vaadin/data/BinderTest.java
@@ -180,6 +180,29 @@ public class BinderTest {
}
@Test
+ public void save_null_beanIsUpdated() {
+ Binder<Person> binder = new Binder<>();
+ binder.forField(nameField).withConverter(fieldValue -> {
+ if ("null".equals(fieldValue)) {
+ return null;
+ } else {
+ return fieldValue;
+ }
+ }, model -> {
+ return model;
+ }).bind(Person::getFirstName, Person::setFirstName);
+
+ Person person = new Person();
+ person.setFirstName("foo");
+
+ nameField.setValue("null");
+
+ binder.save(person);
+
+ Assert.assertNull(person.getFirstName());
+ }
+
+ @Test
public void load_bound_fieldValueIsUpdated() {
Binder<Person> binder = new Binder<>();
binder.bind(nameField, Person::getFirstName, Person::setFirstName);