diff options
author | Artur Signell <artur@vaadin.com> | 2016-08-23 12:06:16 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2016-08-24 13:35:25 +0000 |
commit | dd1b81a2c25cc4413eab462c3724e2dba6b87f84 (patch) | |
tree | 81a7d68eaf253076a7505b5bc49db201d8ab95fe /server/src/test/java | |
parent | 87e0a08b6059add166b46b8b4379791a40ff0ede (diff) | |
download | vaadin-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.java | 23 |
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); |