Fixed additional JSON escaps and added tests

This commit is contained in:
Ziver Koc 2023-03-29 01:40:55 +02:00
parent 86296df176
commit 670f95689d
5 changed files with 57 additions and 12 deletions

View file

@ -92,13 +92,27 @@ public class JSONParserTest {
}
@Test
public void valueStringNoQuotes(){
public void valueString(){
DataNode data = JSONParser.read("teststring");
assert(data.isValue());
assertEquals( DataType.String, data.getType());
assertEquals( "teststring", data.getString());
}
@Test
public void valueStringWithQuotes(){
DataNode data = JSONParser.read("aa \\\"bb\\\" cc");
assert(data.isValue());
assertEquals( DataType.String, data.getType());
assertEquals( "aa \"bb\" cc", data.getString());
data = JSONParser.read("{\"test_key\": \"aa \\\"bb\\\" cc\"}");
assertEquals( DataType.String, data.get("test_key").getType());
assertEquals( "aa \"bb\" cc", data.get("test_key").getString());
}
@Test
public void toManyCommasInList(){
DataNode data = JSONParser.read("[1,2,3,]");

View file

@ -0,0 +1,22 @@
package zutil.parser.json;
import org.junit.Test;
import zutil.parser.DataNode;
import static org.junit.Assert.*;
public class JSONWriterTest {
@Test
public void emptyNodes() {
assertEquals("{}", JSONWriter.toString(new DataNode(DataNode.DataType.Map)));
assertEquals("[]", JSONWriter.toString(new DataNode(DataNode.DataType.List)));
}
@Test
public void escapeQuotes() {
DataNode node = new DataNode(DataNode.DataType.List);
node.add("aa \"bb\" cc");
assertEquals("[\"aa \\\"bb\\\" cc\"]", JSONWriter.toString(node));
}
}