Skip to content

Commit 20d90bf

Browse files
authored
Merge pull request #85 from johnjaylward/JSONPointerTrailingSlash
Test cases for issue described in Issue 410
2 parents 770cb9c + 3fe4a76 commit 20d90bf

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

src/test/java/org/json/junit/JSONObjectTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ public void jsonObjectAppend() {
667667
assertTrue("expected 1 top level item", ((Map<?,?>)(JsonPath.read(doc, "$"))).size() == 1);
668668
assertTrue("expected 6 myArray items", ((List<?>)(JsonPath.read(doc, "$.myArray"))).size() == 6);
669669
assertTrue("expected true", Boolean.TRUE.equals(jsonObject.query("/myArray/0")));
670-
assertTrue("expected false", Boolean.FALSE.equals(jsonObject.query("/myArray/1/")));
670+
assertTrue("expected false", Boolean.FALSE.equals(jsonObject.query("/myArray/1")));
671671
assertTrue("expected hello world!", "hello world!".equals(jsonObject.query("/myArray/2")));
672672
assertTrue("expected h\be\tllo w\u1234orld!", "h\be\tllo w\u1234orld!".equals(jsonObject.query("/myArray/3")));
673673
assertTrue("expected 42", Integer.valueOf(42).equals(jsonObject.query("/myArray/4")));

src/test/java/org/json/junit/JSONPointerTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,27 @@ public void queryByEmptyKey() {
6262
assertSame(document.get(""), query("/"));
6363
}
6464

65+
@Test
66+
public void queryByEmptyKeySubObject() {
67+
assertSame(document.getJSONObject("obj").getJSONObject(""), query("/obj/"));
68+
}
69+
70+
@Test
71+
public void queryByEmptyKeySubObjectSubOject() {
72+
assertSame(
73+
document.getJSONObject("obj").getJSONObject("").get(""),
74+
query("/obj//")
75+
);
76+
}
77+
78+
@Test
79+
public void queryByEmptyKeySubObjectValue() {
80+
assertSame(
81+
document.getJSONObject("obj").getJSONObject("").get("subKey"),
82+
query("/obj//subKey")
83+
);
84+
}
85+
6586
@Test
6687
public void slashEscaping() {
6788
assertSame(document.get("a/b"), query("/a~1b"));

src/test/resources/jsonpointer-testdoc.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
"another/key" : [
2020
"val"
2121
]
22+
},
23+
"" : {
24+
"" : "empty key of an object with an empty key",
25+
"subKey" : "Some other value"
2226
}
2327
}
2428
}

0 commit comments

Comments
 (0)