JSONIncompletModeTest.java
package net.minidev.json.test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import net.minidev.json.JSONArray;
import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;
import org.junit.jupiter.api.Test;
/** TODO make the same tests in stream and bytes mode */
public class JSONIncompletModeTest {
@Test
public void testArraySimple() throws Exception {
String s = "[1";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
JSONArray array = (JSONArray) p.parse(s);
assertEquals(Long.valueOf(1), (Long) array.get(0));
}
@Test
public void testArrayInObject1() throws Exception {
String s = "{\"obj\":[1";
String result = "{\"obj\":[1]}";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
JSONObject array = (JSONObject) p.parse(s);
assertEquals(result, array.toJSONString());
}
@Test
public void testObjectCut() throws Exception {
String s = "{\"obj\":";
String result = "{\"obj\":null}";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
JSONObject array = (JSONObject) p.parse(s);
assertEquals(result, array.toJSONString());
}
@Test
public void testObjectCut2() throws Exception {
String s = "{\"obj\"";
String result = "{\"obj\":null}";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
JSONObject array = (JSONObject) p.parse(s);
assertEquals(result, array.toJSONString());
}
@Test
public void testObjectCut3() throws Exception {
String s = "{\"obj";
String result = "{\"obj\":null}";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
JSONObject array = (JSONObject) p.parse(s);
assertEquals(result, array.toJSONString());
}
@Test
public void testObjectCut4() throws Exception {
String s = "{\"obj\":\"";
String result = "{\"obj\":\"\"}";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
JSONObject array = (JSONObject) p.parse(s);
assertEquals(result, array.toJSONString());
}
@Test
public void testStringCut() throws Exception {
String s = "\"obj";
String result = "obj";
JSONParser p = new JSONParser(JSONParser.MODE_JSON_SIMPLE | JSONParser.ACCEPT_INCOMPLETE);
String array = (String) p.parse(s);
assertEquals(result, array);
}
}