diff options
author | Julien Dramaix <julien.dramaix@gmail.com> | 2015-07-20 10:55:47 +0200 |
---|---|---|
committer | Julien Dramaix <julien.dramaix@gmail.com> | 2015-07-20 10:55:47 +0200 |
commit | b1728c2e9d0de9aedd8e837cee87386b71cf1d24 (patch) | |
tree | aa1873b998a0d59da8850749729f46731fe64556 /gwtquery-core/src/test | |
parent | 5c5aa479ae313a274944effc47f67fa7a6a97396 (diff) | |
parent | 9cf3566409ab957139fd6cff2d9b3ea850dab7d1 (diff) | |
download | gwtquery-b1728c2e9d0de9aedd8e837cee87386b71cf1d24.tar.gz gwtquery-b1728c2e9d0de9aedd8e837cee87386b71cf1d24.zip |
Merge pull request #356 from apanizo/master
Data binding over list attributes
Diffstat (limited to 'gwtquery-core/src/test')
-rw-r--r-- | gwtquery-core/src/test/java/com/google/gwt/query/client/dbinding/DataBindingTestJre.java | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/gwtquery-core/src/test/java/com/google/gwt/query/client/dbinding/DataBindingTestJre.java b/gwtquery-core/src/test/java/com/google/gwt/query/client/dbinding/DataBindingTestJre.java index 50123b80..f276f034 100644 --- a/gwtquery-core/src/test/java/com/google/gwt/query/client/dbinding/DataBindingTestJre.java +++ b/gwtquery-core/src/test/java/com/google/gwt/query/client/dbinding/DataBindingTestJre.java @@ -26,6 +26,7 @@ import com.google.gwt.query.client.builders.JsonBuilder; import com.google.gwt.query.client.builders.Name; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -165,6 +166,7 @@ public class DataBindingTestJre extends GWTTestCase { int getAge(); String getName(); + List<String> getPhones(); GAddress address(); } @@ -173,9 +175,13 @@ public class DataBindingTestJre extends GWTTestCase { + " 'email': 'foo@bar.com', " + " 'age': 27, " + " 'name': 'Foo Bar', " + + " 'phones': [ " + + " '9166566'," + + " '65443333'" + + " ]," + " 'address': {" + " 'street': 'Street Foo N6', " - + " 'phone': '670'" + + " 'number': '670'" + " }" + "}"; @@ -189,7 +195,7 @@ public class DataBindingTestJre extends GWTTestCase { assertEquals("Foo Bar", entity.getName()); assertNotNull(entity.address()); assertEquals("Street Foo N6", entity.address().street()); - assertNotNull(entity.address().get("phone")); + assertNotNull(entity.address().get("number")); } // Nested strict not implemented in JS @@ -211,4 +217,36 @@ public class DataBindingTestJre extends GWTTestCase { assertNull(entity.address().get("phone")); } } + + public void test_return_empty_list_when_array_isEmpty() { + //GIVEN a JSON representation of a user without phones + GUser user = GQ.create(GUser.class); + user.set("email", "a@b.com"); + user.set("name", "Random Name"); + user.set("phones", Collections.emptyList()); + String json = user.toJson(); + + //WHEN fetching that user + GUser retrievedUser = GQ.create(GUser.class); + retrievedUser.parse(json, true); + + //THEN + assertEquals(0, retrievedUser.getPhones().size()); + } + + public void test_return_null_when_list_is_not_specified() { + //GIVEN a JSON representation of a user + GUser user = GQ.create(GUser.class); + user.set("email", "a@b.com"); + user.set("name", "Random Name"); + String json = user.toJson(); + + //WHEN fetching that user + GUser retrievedUser = GQ.create(GUser.class); + retrievedUser.parse(json, true); + + //THEN + List<String> phones = retrievedUser.getPhones(); + assertNull(phones); + } }
\ No newline at end of file |