mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-23 00:07:59 +02:00
GH #119: JSON::Object holds values in ordered map
- fixed GH #119: JSON::Object holds values in ordered map - added PrintHandler - renamed DefaultHandler to ParseHandler - redefined DefaultHandler as typedef to ParseHandler
This commit is contained in:
@@ -39,7 +39,8 @@
|
||||
#include "Poco/JSON/Query.h"
|
||||
#include "Poco/JSON/JSONException.h"
|
||||
#include "Poco/JSON/Stringifier.h"
|
||||
#include "Poco/JSON/DefaultHandler.h"
|
||||
#include "Poco/JSON/ParseHandler.h"
|
||||
#include "Poco/JSON/PrintHandler.h"
|
||||
#include "Poco/JSON/Template.h"
|
||||
|
||||
#include "Poco/Path.h"
|
||||
@@ -87,7 +88,7 @@ void JSONTest::testNullProperty()
|
||||
Var result;
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -114,7 +115,7 @@ void JSONTest::testTrueProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -143,7 +144,7 @@ void JSONTest::testFalseProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -172,7 +173,7 @@ void JSONTest::testNumberProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -202,7 +203,7 @@ void JSONTest::testUnsignedNumberProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -233,7 +234,7 @@ void JSONTest::testNumber64Property()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -263,7 +264,7 @@ void JSONTest::testUnsignedNumber64Property()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -294,7 +295,7 @@ void JSONTest::testStringProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -323,7 +324,7 @@ void JSONTest::testEmptyObject()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -349,7 +350,7 @@ void JSONTest::testDoubleProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -378,7 +379,7 @@ void JSONTest::testDouble2Property()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -407,7 +408,7 @@ void JSONTest::testDouble3Property()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -436,7 +437,7 @@ void JSONTest::testObjectProperty()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -472,7 +473,7 @@ void JSONTest::testObjectArray()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -494,6 +495,37 @@ void JSONTest::testObjectArray()
|
||||
}
|
||||
|
||||
|
||||
void JSONTest::testArrayOfObjects()
|
||||
{
|
||||
std::string json = "[ {\"test\" : 0}, { \"test1\" : [1, 2, 3], \"test2\" : 4 } ]";
|
||||
Parser parser;
|
||||
Var result;
|
||||
|
||||
try
|
||||
{
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
}
|
||||
catch(JSONException& jsone)
|
||||
{
|
||||
std::cout << jsone.message() << std::endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
assert(result.type() == typeid(Array::Ptr));
|
||||
Array::Ptr arr = result.extract<Array::Ptr>();
|
||||
Object::Ptr object = arr->getObject(0);
|
||||
assert (object->getValue<int>("test") == 0);
|
||||
object = arr->getObject(1);
|
||||
arr = object->getArray("test1");
|
||||
result = arr->get(0);
|
||||
assert (result == 1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void JSONTest::testEmptyArray()
|
||||
{
|
||||
std::string json = "[]";
|
||||
@@ -502,7 +534,7 @@ void JSONTest::testEmptyArray()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -528,7 +560,7 @@ void JSONTest::testNestedArray()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -554,7 +586,7 @@ void JSONTest::testNullElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -582,7 +614,7 @@ void JSONTest::testTrueElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -611,7 +643,7 @@ void JSONTest::testFalseElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -640,7 +672,7 @@ void JSONTest::testNumberElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -669,7 +701,7 @@ void JSONTest::testStringElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -698,7 +730,7 @@ void JSONTest::testEmptyObjectElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -725,7 +757,7 @@ void JSONTest::testDoubleElement()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -754,7 +786,7 @@ void JSONTest::testOptValue()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -781,7 +813,7 @@ void JSONTest::testQuery()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -801,15 +833,77 @@ void JSONTest::testQuery()
|
||||
}
|
||||
|
||||
|
||||
void JSONTest::testPrintHandler()
|
||||
{
|
||||
std::string json = "{ \"name\" : \"Homer\", \"age\" : 38, \"wife\" : \"Marge\", \"age\" : 36, \"children\" : [ \"Bart\", \"Lisa\", \"Maggie\" ] }";
|
||||
Parser parser;
|
||||
std::ostringstream ostr;
|
||||
PrintHandler handler(ostr);
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
assert (ostr.str() == "{\"name\":\"Homer\",\"age\":38,\"wife\":\"Marge\",\"age\":36,\"children\":[\"Bart\",\"Lisa\",\"Maggie\"]}");
|
||||
|
||||
handler.setIndent(1);
|
||||
ostr.str("");
|
||||
parser.parse(json);
|
||||
assert (ostr.str() == "{\n"
|
||||
" \"name\" : \"Homer\",\n"
|
||||
" \"age\" : 38,\n"
|
||||
" \"wife\" : \"Marge\",\n"
|
||||
" \"age\" : 36,\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ]\n"
|
||||
"}"
|
||||
);
|
||||
|
||||
handler.setIndent(2);
|
||||
ostr.str("");
|
||||
parser.parse(json);
|
||||
assert (ostr.str() == "{\n"
|
||||
" \"name\" : \"Homer\",\n"
|
||||
" \"age\" : 38,\n"
|
||||
" \"wife\" : \"Marge\",\n"
|
||||
" \"age\" : 36,\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ]\n"
|
||||
"}"
|
||||
);
|
||||
|
||||
handler.setIndent(4);
|
||||
ostr.str("");
|
||||
parser.parse(json);
|
||||
assert (ostr.str() == "{\n"
|
||||
" \"name\" : \"Homer\",\n"
|
||||
" \"age\" : 38,\n"
|
||||
" \"wife\" : \"Marge\",\n"
|
||||
" \"age\" : 36,\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ]\n"
|
||||
"}"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
void JSONTest::testStringify()
|
||||
{
|
||||
std::string json = "{ \"name\" : \"Franky\", \"children\" : [ \"Jonas\", \"Ellen\" ] }";
|
||||
std::string json = "{ \"Simpsons\" : { \"husband\" : { \"name\" : \"Homer\" , \"age\" : 38 }, \"wife\" : { \"name\" : \"Marge\", \"age\" : 36 }, "
|
||||
"\"children\" : [ \"Bart\", \"Lisa\", \"Maggie\" ], "
|
||||
"\"address\" : { \"number\" : 742, \"street\" : \"Evergreen Terrace\", \"town\" : \"Springfield\" } } }";
|
||||
Parser parser;
|
||||
Var result;
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -822,9 +916,221 @@ void JSONTest::testStringify()
|
||||
|
||||
assert(result.type() == typeid(Object::Ptr));
|
||||
std::ostringstream ostr;
|
||||
|
||||
Stringifier::condense(result, ostr);
|
||||
std::string str = "{"
|
||||
"\"Simpsons\":{"
|
||||
"\"address\":{"
|
||||
"\"number\":742,"
|
||||
"\"street\":\"Evergreen Terrace\","
|
||||
"\"town\":\"Springfield\""
|
||||
"},"
|
||||
"\"children\":["
|
||||
"\"Bart\","
|
||||
"\"Lisa\","
|
||||
"\"Maggie\"],"
|
||||
"\"husband\":{"
|
||||
"\"age\":38,"
|
||||
"\"name\":\"Homer\""
|
||||
"},"
|
||||
"\"wife\":{"
|
||||
"\"age\":36,\"name\":\"Marge\""
|
||||
"}}}";
|
||||
assert (ostr.str() == str);
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr);
|
||||
//TODO: need map that does not order for internal container
|
||||
assert (ostr.str() == "{\"name\":\"Franky\",\"children\":[\"Jonas\",\"Ellen\"]}");
|
||||
assert (ostr.str() == str);
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr, 1);
|
||||
str = "{\n"
|
||||
" \"Simpsons\" : {\n"
|
||||
" \"address\" : {\n"
|
||||
" \"number\" : 742,\n"
|
||||
" \"street\" : \"Evergreen Terrace\",\n"
|
||||
" \"town\" : \"Springfield\"\n"
|
||||
" },\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ],\n"
|
||||
" \"husband\" : {\n"
|
||||
" \"age\" : 38,\n"
|
||||
" \"name\" : \"Homer\"\n"
|
||||
" },\n"
|
||||
" \"wife\" : {\n"
|
||||
" \"age\" : 36,\n"
|
||||
" \"name\" : \"Marge\"\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}";
|
||||
assert (ostr.str() == str);
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr, 2);
|
||||
str = "{\n"
|
||||
" \"Simpsons\" : {\n"
|
||||
" \"address\" : {\n"
|
||||
" \"number\" : 742,\n"
|
||||
" \"street\" : \"Evergreen Terrace\",\n"
|
||||
" \"town\" : \"Springfield\"\n"
|
||||
" },\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ],\n"
|
||||
" \"husband\" : {\n"
|
||||
" \"age\" : 38,\n"
|
||||
" \"name\" : \"Homer\"\n"
|
||||
" },\n"
|
||||
" \"wife\" : {\n"
|
||||
" \"age\" : 36,\n"
|
||||
" \"name\" : \"Marge\"\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}";
|
||||
assert (ostr.str() == str);
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr, 4);
|
||||
str = "{\n"
|
||||
" \"Simpsons\" : {\n"
|
||||
" \"address\" : {\n"
|
||||
" \"number\" : 742,\n"
|
||||
" \"street\" : \"Evergreen Terrace\",\n"
|
||||
" \"town\" : \"Springfield\"\n"
|
||||
" },\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ],\n"
|
||||
" \"husband\" : {\n"
|
||||
" \"age\" : 38,\n"
|
||||
" \"name\" : \"Homer\"\n"
|
||||
" },\n"
|
||||
" \"wife\" : {\n"
|
||||
" \"age\" : 36,\n"
|
||||
" \"name\" : \"Marge\"\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}";
|
||||
assert (ostr.str() == str);
|
||||
}
|
||||
|
||||
|
||||
void JSONTest::testStringifyPreserveOrder()
|
||||
{
|
||||
std::string json = "{ \"Simpsons\" : { \"husband\" : { \"name\" : \"Homer\" , \"age\" : 38 }, \"wife\" : { \"name\" : \"Marge\", \"age\" : 36 }, "
|
||||
"\"children\" : [ \"Bart\", \"Lisa\", \"Maggie\" ], "
|
||||
"\"address\" : { \"number\" : 742, \"street\" : \"Evergreen Terrace\", \"town\" : \"Springfield\" } } }";
|
||||
Parser parser;
|
||||
Var result;
|
||||
|
||||
try
|
||||
{
|
||||
ParseHandler handler(true);
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
}
|
||||
catch(JSONException& jsone)
|
||||
{
|
||||
std::cout << jsone.message() << std::endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
assert(result.type() == typeid(Object::Ptr));
|
||||
std::ostringstream ostr;
|
||||
|
||||
Stringifier::condense(result, ostr);
|
||||
assert (ostr.str() == "{\"Simpsons\":{\"husband\":{\"name\":\"Homer\",\"age\":38},\"wife\":{\"name\":\"Marge\",\"age\":36},"
|
||||
"\"children\":[\"Bart\",\"Lisa\",\"Maggie\"],"
|
||||
"\"address\":{\"number\":742,\"street\":\"Evergreen Terrace\",\"town\":\"Springfield\"}}}");
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr);
|
||||
assert (ostr.str() == "{\"Simpsons\":{\"husband\":{\"name\":\"Homer\",\"age\":38},\"wife\":{\"name\":\"Marge\",\"age\":36},"
|
||||
"\"children\":[\"Bart\",\"Lisa\",\"Maggie\"],"
|
||||
"\"address\":{\"number\":742,\"street\":\"Evergreen Terrace\",\"town\":\"Springfield\"}}}");
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr, 1);
|
||||
assert (ostr.str() == "{\n"
|
||||
" \"Simpsons\" : {\n"
|
||||
" \"husband\" : {\n"
|
||||
" \"name\" : \"Homer\",\n"
|
||||
" \"age\" : 38\n"
|
||||
" },\n"
|
||||
" \"wife\" : {\n"
|
||||
" \"name\" : \"Marge\",\n"
|
||||
" \"age\" : 36\n"
|
||||
" },\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ],\n"
|
||||
" \"address\" : {\n"
|
||||
" \"number\" : 742,\n"
|
||||
" \"street\" : \"Evergreen Terrace\",\n"
|
||||
" \"town\" : \"Springfield\"\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}");
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr, 2);
|
||||
assert (ostr.str() == "{\n"
|
||||
" \"Simpsons\" : {\n"
|
||||
" \"husband\" : {\n"
|
||||
" \"name\" : \"Homer\",\n"
|
||||
" \"age\" : 38\n"
|
||||
" },\n"
|
||||
" \"wife\" : {\n"
|
||||
" \"name\" : \"Marge\",\n"
|
||||
" \"age\" : 36\n"
|
||||
" },\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ],\n"
|
||||
" \"address\" : {\n"
|
||||
" \"number\" : 742,\n"
|
||||
" \"street\" : \"Evergreen Terrace\",\n"
|
||||
" \"town\" : \"Springfield\"\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}");
|
||||
|
||||
ostr.str("");
|
||||
Stringifier::stringify(result, ostr, 4);
|
||||
assert (ostr.str() == "{\n"
|
||||
" \"Simpsons\" : {\n"
|
||||
" \"husband\" : {\n"
|
||||
" \"name\" : \"Homer\",\n"
|
||||
" \"age\" : 38\n"
|
||||
" },\n"
|
||||
" \"wife\" : {\n"
|
||||
" \"name\" : \"Marge\",\n"
|
||||
" \"age\" : 36\n"
|
||||
" },\n"
|
||||
" \"children\" : [\n"
|
||||
" \"Bart\",\n"
|
||||
" \"Lisa\",\n"
|
||||
" \"Maggie\"\n"
|
||||
" ],\n"
|
||||
" \"address\" : {\n"
|
||||
" \"number\" : 742,\n"
|
||||
" \"street\" : \"Evergreen Terrace\",\n"
|
||||
" \"town\" : \"Springfield\"\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}");
|
||||
}
|
||||
|
||||
|
||||
@@ -852,7 +1158,7 @@ void JSONTest::testValidJanssonFiles()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(fis);
|
||||
result = handler.result();
|
||||
@@ -900,7 +1206,7 @@ void JSONTest::testInvalidJanssonFiles()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(fis);
|
||||
result = handler.result();
|
||||
@@ -944,7 +1250,7 @@ void JSONTest::testInvalidUnicodeJanssonFiles()
|
||||
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(fis);
|
||||
result = handler.result();
|
||||
@@ -977,6 +1283,7 @@ void JSONTest::testTemplate()
|
||||
tpl.render(data, std::cout);
|
||||
}
|
||||
|
||||
|
||||
void JSONTest::testUnicode()
|
||||
{
|
||||
const unsigned char supp[] = {0x61, 0xE1, 0xE9, 0x78, 0xED, 0xF3, 0xFA, 0x0};
|
||||
@@ -988,7 +1295,7 @@ void JSONTest::testUnicode()
|
||||
Var result;
|
||||
try
|
||||
{
|
||||
DefaultHandler handler;
|
||||
ParseHandler handler;
|
||||
parser.setHandler(&handler);
|
||||
parser.parse(json);
|
||||
result = handler.result();
|
||||
@@ -1012,6 +1319,7 @@ void JSONTest::testUnicode()
|
||||
assert(test.convert<std::string>() == original);
|
||||
}
|
||||
|
||||
|
||||
std::string JSONTest::getTestFilesPath(const std::string& type)
|
||||
{
|
||||
std::ostringstream ostr;
|
||||
@@ -1060,6 +1368,7 @@ CppUnit::Test* JSONTest::suite()
|
||||
CppUnit_addTest(pSuite, JSONTest, testDouble3Property);
|
||||
CppUnit_addTest(pSuite, JSONTest, testObjectProperty);
|
||||
CppUnit_addTest(pSuite, JSONTest, testObjectArray);
|
||||
CppUnit_addTest(pSuite, JSONTest, testArrayOfObjects);
|
||||
CppUnit_addTest(pSuite, JSONTest, testEmptyArray);
|
||||
CppUnit_addTest(pSuite, JSONTest, testNestedArray);
|
||||
CppUnit_addTest(pSuite, JSONTest, testNullElement);
|
||||
@@ -1071,7 +1380,9 @@ CppUnit::Test* JSONTest::suite()
|
||||
CppUnit_addTest(pSuite, JSONTest, testDoubleElement);
|
||||
CppUnit_addTest(pSuite, JSONTest, testOptValue);
|
||||
CppUnit_addTest(pSuite, JSONTest, testQuery);
|
||||
CppUnit_addTest(pSuite, JSONTest, testPrintHandler);
|
||||
CppUnit_addTest(pSuite, JSONTest, testStringify);
|
||||
CppUnit_addTest(pSuite, JSONTest, testStringifyPreserveOrder);
|
||||
CppUnit_addTest(pSuite, JSONTest, testValidJanssonFiles);
|
||||
CppUnit_addTest(pSuite, JSONTest, testInvalidJanssonFiles);
|
||||
CppUnit_addTest(pSuite, JSONTest, testInvalidUnicodeJanssonFiles);
|
||||
|
@@ -62,6 +62,7 @@ public:
|
||||
void testDouble3Property();
|
||||
void testObjectProperty();
|
||||
void testObjectArray();
|
||||
void testArrayOfObjects();
|
||||
void testEmptyArray();
|
||||
void testNestedArray();
|
||||
void testNullElement();
|
||||
@@ -73,7 +74,9 @@ public:
|
||||
void testDoubleElement();
|
||||
void testOptValue();
|
||||
void testQuery();
|
||||
void testPrintHandler();
|
||||
void testStringify();
|
||||
void testStringifyPreserveOrder();
|
||||
|
||||
void testValidJanssonFiles();
|
||||
void testInvalidJanssonFiles();
|
||||
|
Reference in New Issue
Block a user