From b0f50bb4bed8ab52a4dc674d042e7c1518eb885f Mon Sep 17 00:00:00 2001 From: Joel Leitch Date: Wed, 23 Sep 2009 19:00:05 +0000 Subject: [PATCH] Return a "JsonNull" object for empty whitespace input into the JsonParser. --- gson/src/main/java/com/google/gson/JsonParser.java | 2 +- .../src/test/java/com/google/gson/JsonParserTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/JsonParser.java b/gson/src/main/java/com/google/gson/JsonParser.java index 4e706a9b..d8e5c16b 100755 --- a/gson/src/main/java/com/google/gson/JsonParser.java +++ b/gson/src/main/java/com/google/gson/JsonParser.java @@ -63,7 +63,7 @@ public final class JsonParser { throw new JsonParseException("Failed parsing JSON source: " + json + " to Json", e); } catch (JsonParseException e) { if (e.getCause() instanceof EOFException) { - return null; + return JsonNull.createJsonNull(); } else { throw e; } diff --git a/gson/src/test/java/com/google/gson/JsonParserTest.java b/gson/src/test/java/com/google/gson/JsonParserTest.java index b4537520..a756c94f 100644 --- a/gson/src/test/java/com/google/gson/JsonParserTest.java +++ b/gson/src/test/java/com/google/gson/JsonParserTest.java @@ -46,6 +46,17 @@ public class JsonParserTest extends TestCase { assertEquals(10, e.getAsJsonObject().get("a").getAsInt()); assertEquals("c", e.getAsJsonObject().get("b").getAsString()); } + + public void testParseEmptyString() { + JsonElement e = parser.parse("\" \""); + assertTrue(e.isJsonPrimitive()); + assertEquals(" ", e.getAsString()); + } + + public void testParseEmptyWhitespaceInput() { + JsonElement e = parser.parse(" "); + assertTrue(e.isJsonNull()); + } public void testParseReader() { StringReader reader = new StringReader("{a:10,b:'c'}");