mirror of
https://github.com/stleary/JSON-java.git
synced 2025-08-03 03:15:32 -04:00
Refactor JSONPointerTest
This commit is contained in:
parent
d284c81e16
commit
b4bbc58644
@ -41,6 +41,10 @@ import org.junit.Test;
|
|||||||
public class JSONPointerTest {
|
public class JSONPointerTest {
|
||||||
|
|
||||||
private static final JSONObject document;
|
private static final JSONObject document;
|
||||||
|
private static final String EXPECTED_COMPLETE_DOCUMENT = "{\"\":0,\" \":7,\"g|h\":4,\"c%d\":2,\"k\\\"l\":6,\"a/b\":1,\"i\\\\j\":5," +
|
||||||
|
"\"obj\":{\"\":{\"\":\"empty key of an object with an empty key\",\"subKey\":\"Some other value\"}," +
|
||||||
|
"\"other~key\":{\"another/key\":[\"val\"]},\"key\":\"value\"},\"foo\":[\"bar\",\"baz\"],\"e^f\":3," +
|
||||||
|
"\"m~n\":8}";
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
@ -57,7 +61,7 @@ public class JSONPointerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void emptyPointer() {
|
public void emptyPointer() {
|
||||||
assertSame(document, query(""));
|
assertEquals(EXPECTED_COMPLETE_DOCUMENT, query("").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@ -68,12 +72,12 @@ public class JSONPointerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void objectPropertyQuery() {
|
public void objectPropertyQuery() {
|
||||||
assertSame(document.get("foo"), query("/foo"));
|
assertEquals("[\"bar\",\"baz\"]", query("/foo").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void arrayIndexQuery() {
|
public void arrayIndexQuery() {
|
||||||
assertSame(document.getJSONArray("foo").get(0), query("/foo/0"));
|
assertEquals("bar", query("/foo/0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = JSONPointerException.class)
|
@Test(expected = JSONPointerException.class)
|
||||||
@ -83,38 +87,33 @@ public class JSONPointerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKey() {
|
public void queryByEmptyKey() {
|
||||||
assertSame(document.get(""), query("/"));
|
assertEquals(0, query("/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKeySubObject() {
|
public void queryByEmptyKeySubObject() {
|
||||||
assertSame(document.getJSONObject("obj").getJSONObject(""), query("/obj/"));
|
assertEquals( "{\"\":\"empty key of an object with an empty key\",\"subKey\":\"Some" +
|
||||||
|
" other value\"}", query("/obj/").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKeySubObjectSubOject() {
|
public void queryByEmptyKeySubObjectSubOject() {
|
||||||
assertSame(
|
assertEquals("empty key of an object with an empty key", query("/obj//"));
|
||||||
document.getJSONObject("obj").getJSONObject("").get(""),
|
|
||||||
query("/obj//")
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryByEmptyKeySubObjectValue() {
|
public void queryByEmptyKeySubObjectValue() {
|
||||||
assertSame(
|
assertEquals("Some other value", query("/obj//subKey"));
|
||||||
document.getJSONObject("obj").getJSONObject("").get("subKey"),
|
|
||||||
query("/obj//subKey")
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void slashEscaping() {
|
public void slashEscaping() {
|
||||||
assertSame(document.get("a/b"), query("/a~1b"));
|
assertEquals(1, query("/a~1b"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void tildeEscaping() {
|
public void tildeEscaping() {
|
||||||
assertSame(document.get("m~n"), query("/m~0n"));
|
assertEquals(8, query("/m~0n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -124,7 +123,7 @@ public class JSONPointerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void backslashHandling() {
|
public void backslashHandling() {
|
||||||
assertSame(document.get("i\\j"), query("/i\\j"));
|
assertEquals(5, query("/i\\j"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -134,30 +133,30 @@ public class JSONPointerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void quotationHandling() {
|
public void quotationHandling() {
|
||||||
assertSame(document.get("k\"l"), query("/k\"l"));
|
assertEquals(6, query("/k\"l"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whitespaceKey() {
|
public void whitespaceKey() {
|
||||||
assertSame(document.get(" "), query("/ "));
|
assertEquals(7, query("/ "));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uriFragmentNotation() {
|
public void uriFragmentNotation() {
|
||||||
assertSame(document.get("foo"), query("#/foo"));
|
assertEquals("[\"bar\",\"baz\"]", query("#/foo").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uriFragmentNotationRoot() {
|
public void uriFragmentNotationRoot() {
|
||||||
assertSame(document, query("#"));
|
assertEquals(EXPECTED_COMPLETE_DOCUMENT, query("#").toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uriFragmentPercentHandling() {
|
public void uriFragmentPercentHandling() {
|
||||||
assertSame(document.get("c%d"), query("#/c%25d"));
|
assertEquals(2, query("#/c%25d"));
|
||||||
assertSame(document.get("e^f"), query("#/e%5Ef"));
|
assertEquals(3, query("#/e%5Ef"));
|
||||||
assertSame(document.get("g|h"), query("#/g%7Ch"));
|
assertEquals(4, query("#/g%7Ch"));
|
||||||
assertSame(document.get("m~n"), query("#/m~0n"));
|
assertEquals(8, query("#/m~0n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user