diff --git a/src/test/java/org/json/junit/JSONPointerTest.java b/src/test/java/org/json/junit/JSONPointerTest.java index 89f1f6c..2701bfb 100644 --- a/src/test/java/org/json/junit/JSONPointerTest.java +++ b/src/test/java/org/json/junit/JSONPointerTest.java @@ -134,6 +134,14 @@ public class JSONPointerTest { public void quotationHandling() { assertEquals(6, query("/k\"l")); } + + /** + * KD Added + * */ + @Test + public void quotationEscaping() { + assertEquals(document.get("k\"l"), query("/k\\\"l")); + } @Test public void whitespaceKey() { @@ -389,4 +397,33 @@ public class JSONPointerTest { obj = jsonArray.optQuery(new JSONPointer("/a/b/c")); assertTrue("Expected null", obj == null); } + + /** + * KD added + * Coverage for JSONObject query(JSONPointer) + */ + @Test + public void queryFromJSONObjectUsingPointer2() { + String str = "{"+ + "\"string\\\\\\\\Key\":\"hello world!\","+ + "}"+ + "}"; + JSONObject jsonObject = new JSONObject(str); + Object obj = jsonObject.optQuery(new JSONPointer("/string\\\\\\\\Key")); + assertTrue("Expected 'hello world!'", "hello world!".equals(obj)); + } + /** + * KD added - understanding behavior + * Coverage for JSONObject query(JSONPointer) + */ + @Test + public void queryFromJSONObjectUsingPointer0() { + String str = "{"+ + "\"string\\\\Key\":\"hello world!\","+ + "}"+ + "}"; + JSONObject jsonObject = new JSONObject(str); + Object obj = jsonObject.optQuery(new JSONPointer("/string\\Key")); + assertTrue("Expected 'hello world!'", "hello world!".equals(obj)); + } }