Repository: johnzon
Updated Branches:
  refs/heads/master 9c90117ed -> 847a4268f


add tests for null values in arrays and lists


Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/847a4268
Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/847a4268
Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/847a4268

Branch: refs/heads/master
Commit: 847a4268fb95cb239e54fd955175ece800126945
Parents: 9c90117
Author: Mark Struberg <[email protected]>
Authored: Wed Aug 29 21:07:18 2018 +0200
Committer: Mark Struberg <[email protected]>
Committed: Wed Aug 29 21:07:18 2018 +0200

----------------------------------------------------------------------
 .../apache/johnzon/jsonb/JsonbWriteTest.java    |  2 ++
 .../apache/johnzon/jsonb/SerializerTest.java    | 22 ++++++++++++++++++++
 .../org/apache/johnzon/mapper/MapperTest.java   | 21 +++++++++++++++++++
 3 files changed, 45 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/847a4268/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
----------------------------------------------------------------------
diff --git 
a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java 
b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
index f16e2c4..cec22a1 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
@@ -177,4 +177,6 @@ public class JsonbWriteTest {
             this.date = value;
         }
     }
+
+
 }

http://git-wip-us.apache.org/repos/asf/johnzon/blob/847a4268/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
----------------------------------------------------------------------
diff --git 
a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java 
b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
index bf704e9..1446e92 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/SerializerTest.java
@@ -71,6 +71,24 @@ public class SerializerTest {
         assertEquals(4, deser.moreFoos.get(1).value);
     }
 
+    @Test
+    public void nullValuesInList() {
+        Jsonb jsonb = JsonbBuilder.create();
+
+        IntList wrapper = new IntList();
+        wrapper.elems.add(null);
+        assertEquals("{\"elems\":[null]}", jsonb.toJson(wrapper));
+
+        wrapper.elems.add(1);
+        assertEquals("{\"elems\":[null,1]}", jsonb.toJson(wrapper));
+
+        wrapper.elems.add(0, 2);
+        assertEquals("{\"elems\":[2,null,1]}", jsonb.toJson(wrapper));
+
+        wrapper.elems.remove(2);
+        assertEquals("{\"elems\":[2,null]}", jsonb.toJson(wrapper));
+    }
+
     public static class Foo {
         public String name;
         public int value;
@@ -87,6 +105,10 @@ public class SerializerTest {
         public List<Foo> moreFoos = new ArrayList<>();
     }
 
+    public static class IntList {
+        public List<Integer> elems = new ArrayList<>();
+    }
+
     public static class FooDeser implements JsonbDeserializer<Foo> {
         @Override
         public Foo deserialize(final JsonParser parser, final 
DeserializationContext ctx, final Type rtType) {

http://git-wip-us.apache.org/repos/asf/johnzon/blob/847a4268/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
----------------------------------------------------------------------
diff --git 
a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java 
b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
index dc06ea7..3e7672e 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperTest.java
@@ -300,6 +300,19 @@ public class MapperTest {
     }
 
     @Test
+    public void writeListWithNulls() {
+        List<String> list = new ArrayList<>();
+        list.add("bla");
+        list.add(null);
+        list.add("blub");
+        final StringWriter sw = new StringWriter();
+        new MapperBuilder().build().writeArray(list, sw);
+
+        String json = sw.toString();
+        assertEquals("[\"bla\",null,\"blub\"]", json);
+    }
+
+    @Test
     public void writeObject() {
         final TheObject instance = new MapperBuilder().build().readObject(new 
ByteArrayInputStream(BIG_OBJECT_STR.getBytes()),
                 TheObject.class); // suppose reader writes but this is tested
@@ -532,6 +545,14 @@ public class MapperTest {
         assertEquals("[1,2]", new String(baos.toByteArray()));
 
         baos.reset();
+        new MapperBuilder().build().writeArray(new Short[] { 1, null, 2 }, 
baos);
+        assertEquals("[1,null,2]", new String(baos.toByteArray()));
+
+        baos.reset();
+        new MapperBuilder().build().writeArray(new Short[] { null }, baos);
+        assertEquals("[null]", new String(baos.toByteArray()));
+
+        baos.reset();
         baos = new ByteArrayOutputStream();
         new MapperBuilder().build().writeArray(new Integer[] { 1, 2 }, baos);
         assertEquals("[1,2]", new String(baos.toByteArray()));

Reply via email to