From 6edc0938033d736ab03c8e23ccaccda2c32bae7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bence=20Er=C5=91s?= Date: Tue, 3 May 2016 23:20:17 +0200 Subject: [PATCH] adding unittests for JSPONPointer#toString(), toURIFragment() and its builder class --- src/test/org/json/junit/JSONPointerTest.java | 37 ++++++++++++++++++- .../org/json/junit/jsonpointer-testdoc.json | 7 +++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/test/org/json/junit/JSONPointerTest.java b/src/test/org/json/junit/JSONPointerTest.java index 3818e82..4299d8f 100644 --- a/src/test/org/json/junit/JSONPointerTest.java +++ b/src/test/org/json/junit/JSONPointerTest.java @@ -1,5 +1,6 @@ package org.json.junit; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import org.json.JSONObject; @@ -28,7 +29,7 @@ public class JSONPointerTest { @Test(expected = NullPointerException.class) public void nullPointer() { - new JSONPointer(null); + new JSONPointer((String) null); } @Test @@ -103,5 +104,39 @@ public class JSONPointerTest { public void primitiveFailure() { query("/obj/key/failure"); } + + @Test + public void builderTest() { + JSONPointer pointer = JSONPointer.builder() + .append("obj") + .append("other~key").append("another/key") + .append(0) + .build(); + assertEquals("val", pointer.queryFrom(document)); + } + + @Test + public void toStringEscaping() { + JSONPointer pointer = JSONPointer.builder() + .append("obj") + .append("other~key").append("another/key") + .append("\"") + .append(0) + .build(); + assertEquals("/obj/other~0key/another~1key/\\\"/0", pointer.toString()); + } + + @Test + public void emptyPointerToString() { + assertEquals("", new JSONPointer("").toString()); + } + + @Test + public void toURIFragment() { + assertEquals("#/c%25d", new JSONPointer("/c%d").toURIFragment()); + assertEquals("#/e%5Ef", new JSONPointer("/e^f").toURIFragment()); + assertEquals("#/g%7Ch", new JSONPointer("/g|h").toURIFragment()); + assertEquals("#/m%7En", new JSONPointer("/m~n").toURIFragment()); + } } diff --git a/src/test/org/json/junit/jsonpointer-testdoc.json b/src/test/org/json/junit/jsonpointer-testdoc.json index 621ce93..d58fe82 100644 --- a/src/test/org/json/junit/jsonpointer-testdoc.json +++ b/src/test/org/json/junit/jsonpointer-testdoc.json @@ -14,6 +14,11 @@ " ": 7, "m~n": 8, "obj" : { - "key" : "value" + "key" : "value", + "other~key" : { + "another/key" : [ + "val" + ] + } } } \ No newline at end of file