JOHNZON-96 add tests for null checks

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

Branch: refs/heads/master
Commit: 525da3d82995b5bebcddefb4df40d86e4ffe2598
Parents: 4b20eaf
Author: Mark Struberg <[email protected]>
Authored: Thu Feb 23 20:53:33 2017 +0100
Committer: Mark Struberg <[email protected]>
Committed: Thu Feb 23 20:53:33 2017 +0100

----------------------------------------------------------------------
 .../org/apache/johnzon/core/JsonObjectBuilderImpl.java  |  2 +-
 .../apache/johnzon/core/JsonObjectBuilderImplTest.java  | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/525da3d8/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
----------------------------------------------------------------------
diff --git 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
index d6e8a48..1b727bd 100644
--- 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
+++ 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
@@ -167,7 +167,7 @@ class JsonObjectBuilderImpl implements JsonObjectBuilder, 
Serializable {
     @Override
     public JsonObject build() {
         
-        if(attributeMap ==null) {
+        if(attributeMap == null || attributeMap.isEmpty()) {
             return new JsonObjectImpl(Collections.EMPTY_MAP);
         } else {
             Map<String, JsonValue> dump = 
(Collections.unmodifiableMap(attributeMap));

http://git-wip-us.apache.org/repos/asf/johnzon/blob/525da3d8/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
----------------------------------------------------------------------
diff --git 
a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
 
b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
index 1ba9348..4954614 100644
--- 
a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
+++ 
b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonObjectBuilderImplTest.java
@@ -104,4 +104,16 @@ public class JsonObjectBuilderImplTest {
 
         assertEquals("{\"c\":\"d\"}", builder.build().toString());
     }
+
+    @Test(expected = NullPointerException.class)
+    public void testNullCheckValue() {
+        final JsonObjectBuilder builder = Json.createObjectBuilder();
+        builder.add("a", (Integer) null);
+    }
+
+    @Test(expected = NullPointerException.class)
+    public void testNullCheckName() {
+        final JsonObjectBuilder builder = Json.createObjectBuilder();
+        builder.add(null, "b");
+    }
 }

Reply via email to