mirror of
https://github.com/fankes/JSON-java-compat.git
synced 2025-09-08 03:24:27 +08:00
initial commit
This commit is contained in:
@@ -49,84 +49,114 @@ public class JSONStringTest {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.put((Object)null);
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
StringWriter writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[null]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
jsonArray.put(JSONObject.NULL);
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[null]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
jsonArray.put(new JSONObject());
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[{}]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
jsonArray.put(new JSONArray());
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[[]]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
Map<?,?> singleMap = Collections.singletonMap("key1", "value1");
|
||||
jsonArray.put((Object)singleMap);
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[{\"key1\":\"value1\"}]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
List<?> singleList = Collections.singletonList("entry1");
|
||||
jsonArray.put((Object)singleList);
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[[\"entry1\"]]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
int[] intArray = new int[] { 1, 2, 3 };
|
||||
jsonArray.put(intArray);
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[[1,2,3]]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
jsonArray.put(24);
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[24]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
jsonArray.put("string value");
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[\"string value\"]".equals(output));
|
||||
|
||||
jsonArray = new JSONArray();
|
||||
jsonArray.put(true);
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[true]".equals(output));
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -185,13 +215,15 @@ public class JSONStringTest {
|
||||
|
||||
jsonArray.put(jsonString);
|
||||
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
StringWriter writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[\"the JSON string value\"]".equals(output));
|
||||
|
||||
output = JSONObject.valueToString(jsonString);
|
||||
assertTrue("String values should be equal", "\"the JSON string value\"".equals(output));
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,7 +238,8 @@ public class JSONStringTest {
|
||||
|
||||
jsonArray.put(jsonString);
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
StringWriter writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[\"the toString value\"]".equals(output));
|
||||
|
||||
@@ -219,6 +252,8 @@ public class JSONStringTest {
|
||||
assertTrue("Expected JSONException", e instanceof JSONException);
|
||||
assertTrue("Exception message does not match", "Bad value from toJSONString: null".equals(e.getMessage()));
|
||||
}
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,13 +269,18 @@ public class JSONStringTest {
|
||||
|
||||
jsonArray.put(jsonString);
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
StringWriter writer = new StringWriter();
|
||||
try {
|
||||
jsonArray.write(writer).toString();
|
||||
fail("Expected an exception, got a String value");
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Unable to write JSONArray value at index: 0", e.getMessage());
|
||||
} catch(Exception e) {
|
||||
fail("Expected JSONException");
|
||||
} finally {
|
||||
try {
|
||||
writer.close();
|
||||
} catch (Exception e){}
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -264,12 +304,15 @@ public class JSONStringTest {
|
||||
|
||||
jsonArray.put(nonJsonString);
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
StringWriter writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[\"the toString value for StringValue\"]".equals(output));
|
||||
|
||||
output = JSONObject.valueToString(nonJsonString);
|
||||
assertTrue("String values should be equal", "\"the toString value for StringValue\"".equals(output));
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,13 +327,15 @@ public class JSONStringTest {
|
||||
|
||||
jsonArray.put(nonJsonString);
|
||||
|
||||
|
||||
try (StringWriter writer = new StringWriter();) {
|
||||
StringWriter writer = new StringWriter();
|
||||
try {
|
||||
String output = jsonArray.write(writer).toString();
|
||||
assertTrue("String values should be equal", "[\"\"]".equals(output));
|
||||
|
||||
output = JSONObject.valueToString(nonJsonString);
|
||||
assertTrue("String values should be equal", "\"\"".equals(output));
|
||||
} finally {
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user