mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-27 11:06:50 +01:00
fix JSON object formatting and tests
This commit is contained in:
@@ -189,7 +189,7 @@ public:
|
|||||||
val.append("{ ");
|
val.append("{ ");
|
||||||
Var key(_val.first());
|
Var key(_val.first());
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, _val.second());
|
Impl::appendJSONValue(val, _val.second());
|
||||||
val.append(" }");
|
val.append(" }");
|
||||||
}
|
}
|
||||||
@@ -338,7 +338,7 @@ public:
|
|||||||
val.append("{ ");
|
val.append("{ ");
|
||||||
Var key(_val.first());
|
Var key(_val.first());
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, _val.second());
|
Impl::appendJSONValue(val, _val.second());
|
||||||
val.append(" }");
|
val.append(" }");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ public:
|
|||||||
{
|
{
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
@@ -348,7 +348,7 @@ public:
|
|||||||
val.append(", ");
|
val.append(", ");
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
}
|
}
|
||||||
val.append(" }");
|
val.append(" }");
|
||||||
@@ -525,7 +525,7 @@ public:
|
|||||||
{
|
{
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
@@ -534,7 +534,7 @@ public:
|
|||||||
val.append(", ");
|
val.append(", ");
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
}
|
}
|
||||||
val.append(" }");
|
val.append(" }");
|
||||||
@@ -711,7 +711,7 @@ public:
|
|||||||
{
|
{
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
@@ -720,7 +720,7 @@ public:
|
|||||||
val.append(", ");
|
val.append(", ");
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
}
|
}
|
||||||
val.append(" }");
|
val.append(" }");
|
||||||
@@ -897,7 +897,7 @@ public:
|
|||||||
{
|
{
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
@@ -906,7 +906,7 @@ public:
|
|||||||
val.append(", ");
|
val.append(", ");
|
||||||
Var key(it->first);
|
Var key(it->first);
|
||||||
Impl::appendJSONKey(val, key);
|
Impl::appendJSONKey(val, key);
|
||||||
val.append(" : ");
|
val.append(": ");
|
||||||
Impl::appendJSONValue(val, it->second);
|
Impl::appendJSONValue(val, it->second);
|
||||||
}
|
}
|
||||||
val.append(" }");
|
val.append(" }");
|
||||||
|
|||||||
@@ -1378,7 +1378,6 @@ void StringTest::testJSONString()
|
|||||||
{
|
{
|
||||||
assertTrue (toJSON("\\", false) == "\\\\");
|
assertTrue (toJSON("\\", false) == "\\\\");
|
||||||
assertTrue (toJSON("\"", false) == "\\\"");
|
assertTrue (toJSON("\"", false) == "\\\"");
|
||||||
assertTrue (toJSON("/", false) == "\\/");
|
|
||||||
assertTrue (toJSON("\a", false) == "\\u0007");
|
assertTrue (toJSON("\a", false) == "\\u0007");
|
||||||
assertTrue (toJSON("\b", false) == "\\b");
|
assertTrue (toJSON("\b", false) == "\\b");
|
||||||
assertTrue (toJSON("\f", false) == "\\f");
|
assertTrue (toJSON("\f", false) == "\\f");
|
||||||
@@ -1395,7 +1394,7 @@ void StringTest::testJSONString()
|
|||||||
std::string str = "\"foo\\\\\"";
|
std::string str = "\"foo\\\\\"";
|
||||||
assertTrue (toJSON("foo\\") == str);
|
assertTrue (toJSON("foo\\") == str);
|
||||||
|
|
||||||
assertTrue (toJSON("bar/") == "\"bar\\/\"");
|
assertTrue (toJSON("bar/") == "\"bar/\"");
|
||||||
assertTrue (toJSON("baz") == "\"baz\"");
|
assertTrue (toJSON("baz") == "\"baz\"");
|
||||||
assertTrue (toJSON("q\"uote\"d") == "\"q\\\"uote\\\"d\"");
|
assertTrue (toJSON("q\"uote\"d") == "\"q\\\"uote\\\"d\"");
|
||||||
assertTrue (toJSON("bs\b") == "\"bs\\b\"");
|
assertTrue (toJSON("bs\b") == "\"bs\\b\"");
|
||||||
@@ -1412,7 +1411,7 @@ void StringTest::testJSONString()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
|
|
||||||
toJSON("foo\\", ostr);
|
toJSON("foo\\", ostr);
|
||||||
assertTrue (toJSON("bar/") == "\"bar\\/\"");
|
assertTrue (toJSON("bar/") == "\"bar/\"");
|
||||||
ostr.str("");
|
ostr.str("");
|
||||||
toJSON("baz", ostr);
|
toJSON("baz", ostr);
|
||||||
assertTrue (ostr.str() == "\"baz\"");
|
assertTrue (ostr.str() == "\"baz\"");
|
||||||
|
|||||||
@@ -2438,14 +2438,14 @@ void VarTest::testDynamicPair()
|
|||||||
catch (InvalidAccessException&) { }
|
catch (InvalidAccessException&) { }
|
||||||
|
|
||||||
Var va(aPair);
|
Var va(aPair);
|
||||||
assertTrue ("{ \"0\" : null }" == va.convert<std::string>());
|
assertTrue ("{ \"0\": null }" == va.convert<std::string>());
|
||||||
assertTrue (aPair.toString() == va.convert<std::string>());
|
assertTrue (aPair.toString() == va.convert<std::string>());
|
||||||
|
|
||||||
aPair = Pair<int>(4, "123");
|
aPair = Pair<int>(4, "123");
|
||||||
assertTrue ("123" == aPair.second());
|
assertTrue ("123" == aPair.second());
|
||||||
|
|
||||||
va = aPair;
|
va = aPair;
|
||||||
assertTrue ("{ \"4\" : \"123\" }" == va.convert<std::string>());
|
assertTrue ("{ \"4\": \"123\" }" == va.convert<std::string>());
|
||||||
assertTrue (aPair.toString() == va.convert<std::string>());
|
assertTrue (aPair.toString() == va.convert<std::string>());
|
||||||
|
|
||||||
int i = 1;
|
int i = 1;
|
||||||
@@ -2464,11 +2464,11 @@ void VarTest::testDynamicPair()
|
|||||||
assertTrue ("2" == pPair.second());
|
assertTrue ("2" == pPair.second());
|
||||||
|
|
||||||
Var vp(pPair);
|
Var vp(pPair);
|
||||||
assertTrue ("{ \"1\" : \"2\" }" == vp.convert<std::string>());
|
assertTrue ("{ \"1\": \"2\" }" == vp.convert<std::string>());
|
||||||
assertTrue (pPair.toString() == vp.convert<std::string>());
|
assertTrue (pPair.toString() == vp.convert<std::string>());
|
||||||
|
|
||||||
Var vs(sPair);
|
Var vs(sPair);
|
||||||
assertTrue ("{ \"2\" : 1 }" == vs.convert<std::string>());
|
assertTrue ("{ \"2\": 1 }" == vs.convert<std::string>());
|
||||||
assertTrue (sPair.toString() == vs.convert<std::string>());
|
assertTrue (sPair.toString() == vs.convert<std::string>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2509,7 +2509,7 @@ void VarTest::testStructToString()
|
|||||||
aStruct["Age"] = 1;
|
aStruct["Age"] = 1;
|
||||||
Var a1(aStruct);
|
Var a1(aStruct);
|
||||||
std::string res = a1.convert<std::string>();
|
std::string res = a1.convert<std::string>();
|
||||||
std::string expected = "{ \"Age\" : 1, \"First Name\" : \"Junior\", \"Last Name\" : \"POCO\" }";
|
std::string expected = "{ \"Age\": 1, \"First Name\": \"Junior\", \"Last Name\": \"POCO\" }";
|
||||||
assertTrue (res == expected);
|
assertTrue (res == expected);
|
||||||
assertTrue (aStruct.toString() == res);
|
assertTrue (aStruct.toString() == res);
|
||||||
}
|
}
|
||||||
@@ -2523,7 +2523,7 @@ void VarTest::testOrderedStructToString()
|
|||||||
aStruct["Age"] = 1;
|
aStruct["Age"] = 1;
|
||||||
Var a1(aStruct);
|
Var a1(aStruct);
|
||||||
std::string res = a1.convert<std::string>();
|
std::string res = a1.convert<std::string>();
|
||||||
std::string expected = "{ \"First Name\" : \"Junior\", \"Last Name\" : \"POCO\", \"Age\" : 1 }";
|
std::string expected = "{ \"First Name\": \"Junior\", \"Last Name\": \"POCO\", \"Age\": 1 }";
|
||||||
assertTrue(res == expected);
|
assertTrue(res == expected);
|
||||||
assertTrue(aStruct.toString() == res);
|
assertTrue(aStruct.toString() == res);
|
||||||
}
|
}
|
||||||
@@ -2535,7 +2535,7 @@ void VarTest::testStructToStringEscape()
|
|||||||
aStruct["Value"] = "Value with \" and \n";
|
aStruct["Value"] = "Value with \" and \n";
|
||||||
Var a1(aStruct);
|
Var a1(aStruct);
|
||||||
std::string res = a1.convert<std::string>();
|
std::string res = a1.convert<std::string>();
|
||||||
std::string expected = "{ \"Value\" : \"Value with \\\" and \\n\" }";
|
std::string expected = "{ \"Value\": \"Value with \\\" and \\n\" }";
|
||||||
assertTrue (res == expected);
|
assertTrue (res == expected);
|
||||||
assertTrue (aStruct.toString() == res);
|
assertTrue (aStruct.toString() == res);
|
||||||
}
|
}
|
||||||
@@ -2560,14 +2560,14 @@ void VarTest::testArrayOfStructsToString()
|
|||||||
Var a1(s16);
|
Var a1(s16);
|
||||||
std::string res = a1.convert<std::string>();
|
std::string res = a1.convert<std::string>();
|
||||||
std::string expected = "[ "
|
std::string expected = "[ "
|
||||||
"{ \"Age\" : 1, \"First Name\" : \"Junior\", \"Last Name\" : \"POCO\" }, "
|
"{ \"Age\": 1, \"First Name\": \"Junior\", \"Last Name\": \"POCO\" }, "
|
||||||
"{ \"Age\" : 100, \"First Name\" : \"Senior\", \"Last Name\" : \"POCO\" }, "
|
"{ \"Age\": 100, \"First Name\": \"Senior\", \"Last Name\": \"POCO\" }, "
|
||||||
"[ "
|
"[ "
|
||||||
"{ \"Age\" : 1, \"First Name\" : \"Junior\", \"Last Name\" : \"POCO\" }, "
|
"{ \"Age\": 1, \"First Name\": \"Junior\", \"Last Name\": \"POCO\" }, "
|
||||||
"{ \"Age\" : 100, \"First Name\" : \"Senior\", \"Last Name\" : \"POCO\" }, "
|
"{ \"Age\": 100, \"First Name\": \"Senior\", \"Last Name\": \"POCO\" }, "
|
||||||
"[ "
|
"[ "
|
||||||
"{ \"Age\" : 1, \"First Name\" : \"Junior\", \"Last Name\" : \"POCO\" }, "
|
"{ \"Age\": 1, \"First Name\": \"Junior\", \"Last Name\": \"POCO\" }, "
|
||||||
"{ \"Age\" : 100, \"First Name\" : \"Senior\", \"Last Name\" : \"POCO\" } "
|
"{ \"Age\": 100, \"First Name\": \"Senior\", \"Last Name\": \"POCO\" } "
|
||||||
"] ] ]";
|
"] ] ]";
|
||||||
|
|
||||||
assertTrue (res == expected);
|
assertTrue (res == expected);
|
||||||
@@ -2594,8 +2594,8 @@ void VarTest::testStructWithArraysToString()
|
|||||||
aStruct["Address"] = addr;
|
aStruct["Address"] = addr;
|
||||||
Var a2(aStruct);
|
Var a2(aStruct);
|
||||||
std::string res = a2.convert<std::string>();
|
std::string res = a2.convert<std::string>();
|
||||||
std::string expected = "{ \"Address\" : { \"Country\" : \"Carinthia\", \"Number\" : 4, \"Street\" : \"Unknown\" }, "
|
std::string expected = "{ \"Address\": { \"Country\": \"Carinthia\", \"Number\": 4, \"Street\": \"Unknown\" }, "
|
||||||
"\"Age\" : 1, \"First Name\" : \"Junior\", \"Last Name\" : [ \"string\", 23 ] }";
|
"\"Age\": 1, \"First Name\": \"Junior\", \"Last Name\": [ \"string\", 23 ] }";
|
||||||
|
|
||||||
assertTrue (res == expected);
|
assertTrue (res == expected);
|
||||||
assertTrue (aStruct.toString() == res);
|
assertTrue (aStruct.toString() == res);
|
||||||
@@ -2615,17 +2615,17 @@ void VarTest::testJSONDeserializeString()
|
|||||||
char cc = b2.convert<char>();
|
char cc = b2.convert<char>();
|
||||||
assertTrue (cc == 'c');
|
assertTrue (cc == 'c');
|
||||||
|
|
||||||
tst = "{ \"a\" : \"1\", \"b\" : \"2\" \n}";
|
tst = "{ \"a\": \"1\", \"b\": \"2\" \n}";
|
||||||
a = Var::parse(tst);
|
a = Var::parse(tst);
|
||||||
assertTrue (a.toString() == "{ \"a\" : \"1\", \"b\" : \"2\" }");
|
assertTrue (a.toString() == "{ \"a\": \"1\", \"b\": \"2\" }");
|
||||||
|
|
||||||
tst = "{ \"a\" : \"1\", \"b\" : \"2\"\n}";
|
tst = "{ \"a\": \"1\", \"b\": \"2\"\n}";
|
||||||
a = Var::parse(tst);
|
a = Var::parse(tst);
|
||||||
assertTrue (a.toString() == "{ \"a\" : \"1\", \"b\" : \"2\" }");
|
assertTrue (a.toString() == "{ \"a\": \"1\", \"b\": \"2\" }");
|
||||||
|
|
||||||
tst = "{ \"message\" : \"escape\\b\\f\\n\\r\\t\", \"path\" : \"\\/dev\\/null\" }";
|
tst = "{ \"message\": \"escape\\b\\f\\n\\r\\t\", \"path\": \"\\/dev\\/null\" }";
|
||||||
a = Var::parse(tst);
|
a = Var::parse(tst);
|
||||||
assertTrue(a.toString() == "{ \"message\" : \"escape\\b\\f\\n\\r\\t\", \"path\" : \"\\/dev\\/null\" }");
|
assertTrue(a.toString() == "{ \"message\": \"escape\\b\\f\\n\\r\\t\", \"path\": \"/dev/null\" }");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1382,7 +1382,6 @@ void JSONTest::testStringify()
|
|||||||
Poco::JSON::Stringifier::stringify(obj1, oss1);
|
Poco::JSON::Stringifier::stringify(obj1, oss1);
|
||||||
Poco::JSON::Stringifier::stringify(obj2, oss2);
|
Poco::JSON::Stringifier::stringify(obj2, oss2);
|
||||||
assertTrue (oss1.str() == "{\"payload\":\"\\r\"}");
|
assertTrue (oss1.str() == "{\"payload\":\"\\r\"}");
|
||||||
std::cout << "\"" << oss1.str() << "\"" << std::endl;
|
|
||||||
assertTrue (oss2.str() == "{\"payload\":\"\\n\"}");
|
assertTrue (oss2.str() == "{\"payload\":\"\\n\"}");
|
||||||
|
|
||||||
Object jObj(false);
|
Object jObj(false);
|
||||||
@@ -1397,7 +1396,7 @@ void JSONTest::testStringify()
|
|||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
jObj.stringify(ss);
|
jObj.stringify(ss);
|
||||||
|
|
||||||
assertTrue (ss.str() == "{\"backspace\":\"bs\\b\",\"bar\\/\":0,\"baz\":0,\"foo\\\\\":0,"
|
assertTrue (ss.str() == "{\"backspace\":\"bs\\b\",\"bar/\":0,\"baz\":0,\"foo\\\\\":0,"
|
||||||
"\"newline\":\"nl\\n\",\"q\\\"uote\\\"d\":0,\"tab\":\"tb\\t\"}");
|
"\"newline\":\"nl\\n\",\"q\\\"uote\\\"d\":0,\"tab\":\"tb\\t\"}");
|
||||||
|
|
||||||
std::string json = "{ \"Simpsons\" : { \"husband\" : { \"name\" : \"Homer\" , \"age\" : 38 }, \"wife\" : { \"name\" : \"Marge\", \"age\" : 36 }, "
|
std::string json = "{ \"Simpsons\" : { \"husband\" : { \"name\" : \"Homer\" , \"age\" : 38 }, \"wife\" : { \"name\" : \"Marge\", \"age\" : 36 }, "
|
||||||
@@ -1448,24 +1447,24 @@ void JSONTest::testStringify()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
Stringifier::stringify(result, ostr, 1);
|
Stringifier::stringify(result, ostr, 1);
|
||||||
str = "{\n"
|
str = "{\n"
|
||||||
" \"Simpsons\" : {\n"
|
" \"Simpsons\": {\n"
|
||||||
" \"address\" : {\n"
|
" \"address\": {\n"
|
||||||
" \"number\" : 742,\n"
|
" \"number\": 742,\n"
|
||||||
" \"street\" : \"Evergreen Terrace\",\n"
|
" \"street\": \"Evergreen Terrace\",\n"
|
||||||
" \"town\" : \"Springfield\"\n"
|
" \"town\": \"Springfield\"\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"children\" : [\n"
|
" \"children\": [\n"
|
||||||
" \"Bart\",\n"
|
" \"Bart\",\n"
|
||||||
" \"Lisa\",\n"
|
" \"Lisa\",\n"
|
||||||
" \"Maggie\"\n"
|
" \"Maggie\"\n"
|
||||||
" ],\n"
|
" ],\n"
|
||||||
" \"husband\" : {\n"
|
" \"husband\": {\n"
|
||||||
" \"age\" : 38,\n"
|
" \"age\": 38,\n"
|
||||||
" \"name\" : \"Homer\"\n"
|
" \"name\": \"Homer\"\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"wife\" : {\n"
|
" \"wife\": {\n"
|
||||||
" \"age\" : 36,\n"
|
" \"age\": 36,\n"
|
||||||
" \"name\" : \"Marge\"\n"
|
" \"name\": \"Marge\"\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
"}";
|
"}";
|
||||||
@@ -1474,24 +1473,24 @@ void JSONTest::testStringify()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
Stringifier::stringify(result, ostr, 2);
|
Stringifier::stringify(result, ostr, 2);
|
||||||
str = "{\n"
|
str = "{\n"
|
||||||
" \"Simpsons\" : {\n"
|
" \"Simpsons\": {\n"
|
||||||
" \"address\" : {\n"
|
" \"address\": {\n"
|
||||||
" \"number\" : 742,\n"
|
" \"number\": 742,\n"
|
||||||
" \"street\" : \"Evergreen Terrace\",\n"
|
" \"street\": \"Evergreen Terrace\",\n"
|
||||||
" \"town\" : \"Springfield\"\n"
|
" \"town\": \"Springfield\"\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"children\" : [\n"
|
" \"children\": [\n"
|
||||||
" \"Bart\",\n"
|
" \"Bart\",\n"
|
||||||
" \"Lisa\",\n"
|
" \"Lisa\",\n"
|
||||||
" \"Maggie\"\n"
|
" \"Maggie\"\n"
|
||||||
" ],\n"
|
" ],\n"
|
||||||
" \"husband\" : {\n"
|
" \"husband\": {\n"
|
||||||
" \"age\" : 38,\n"
|
" \"age\": 38,\n"
|
||||||
" \"name\" : \"Homer\"\n"
|
" \"name\": \"Homer\"\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"wife\" : {\n"
|
" \"wife\": {\n"
|
||||||
" \"age\" : 36,\n"
|
" \"age\": 36,\n"
|
||||||
" \"name\" : \"Marge\"\n"
|
" \"name\": \"Marge\"\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
"}";
|
"}";
|
||||||
@@ -1500,24 +1499,24 @@ void JSONTest::testStringify()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
Stringifier::stringify(result, ostr, 4);
|
Stringifier::stringify(result, ostr, 4);
|
||||||
str = "{\n"
|
str = "{\n"
|
||||||
" \"Simpsons\" : {\n"
|
" \"Simpsons\": {\n"
|
||||||
" \"address\" : {\n"
|
" \"address\": {\n"
|
||||||
" \"number\" : 742,\n"
|
" \"number\": 742,\n"
|
||||||
" \"street\" : \"Evergreen Terrace\",\n"
|
" \"street\": \"Evergreen Terrace\",\n"
|
||||||
" \"town\" : \"Springfield\"\n"
|
" \"town\": \"Springfield\"\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"children\" : [\n"
|
" \"children\": [\n"
|
||||||
" \"Bart\",\n"
|
" \"Bart\",\n"
|
||||||
" \"Lisa\",\n"
|
" \"Lisa\",\n"
|
||||||
" \"Maggie\"\n"
|
" \"Maggie\"\n"
|
||||||
" ],\n"
|
" ],\n"
|
||||||
" \"husband\" : {\n"
|
" \"husband\": {\n"
|
||||||
" \"age\" : 38,\n"
|
" \"age\": 38,\n"
|
||||||
" \"name\" : \"Homer\"\n"
|
" \"name\": \"Homer\"\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"wife\" : {\n"
|
" \"wife\": {\n"
|
||||||
" \"age\" : 36,\n"
|
" \"age\": 36,\n"
|
||||||
" \"name\" : \"Marge\"\n"
|
" \"name\": \"Marge\"\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
"}";
|
"}";
|
||||||
@@ -1590,24 +1589,24 @@ void JSONTest::testStringifyPreserveOrder()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
Stringifier::stringify(result, ostr, 1);
|
Stringifier::stringify(result, ostr, 1);
|
||||||
assertTrue (ostr.str() == "{\n"
|
assertTrue (ostr.str() == "{\n"
|
||||||
" \"Simpsons\" : {\n"
|
" \"Simpsons\": {\n"
|
||||||
" \"husband\" : {\n"
|
" \"husband\": {\n"
|
||||||
" \"name\" : \"Homer\",\n"
|
" \"name\": \"Homer\",\n"
|
||||||
" \"age\" : 38\n"
|
" \"age\": 38\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"wife\" : {\n"
|
" \"wife\": {\n"
|
||||||
" \"name\" : \"Marge\",\n"
|
" \"name\": \"Marge\",\n"
|
||||||
" \"age\" : 36\n"
|
" \"age\": 36\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"children\" : [\n"
|
" \"children\": [\n"
|
||||||
" \"Bart\",\n"
|
" \"Bart\",\n"
|
||||||
" \"Lisa\",\n"
|
" \"Lisa\",\n"
|
||||||
" \"Maggie\"\n"
|
" \"Maggie\"\n"
|
||||||
" ],\n"
|
" ],\n"
|
||||||
" \"address\" : {\n"
|
" \"address\": {\n"
|
||||||
" \"number\" : 742,\n"
|
" \"number\": 742,\n"
|
||||||
" \"street\" : \"Evergreen Terrace\",\n"
|
" \"street\": \"Evergreen Terrace\",\n"
|
||||||
" \"town\" : \"Springfield\"\n"
|
" \"town\": \"Springfield\"\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
"}");
|
"}");
|
||||||
@@ -1615,24 +1614,24 @@ void JSONTest::testStringifyPreserveOrder()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
Stringifier::stringify(result, ostr, 2);
|
Stringifier::stringify(result, ostr, 2);
|
||||||
assertTrue (ostr.str() == "{\n"
|
assertTrue (ostr.str() == "{\n"
|
||||||
" \"Simpsons\" : {\n"
|
" \"Simpsons\": {\n"
|
||||||
" \"husband\" : {\n"
|
" \"husband\": {\n"
|
||||||
" \"name\" : \"Homer\",\n"
|
" \"name\": \"Homer\",\n"
|
||||||
" \"age\" : 38\n"
|
" \"age\": 38\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"wife\" : {\n"
|
" \"wife\": {\n"
|
||||||
" \"name\" : \"Marge\",\n"
|
" \"name\": \"Marge\",\n"
|
||||||
" \"age\" : 36\n"
|
" \"age\": 36\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"children\" : [\n"
|
" \"children\": [\n"
|
||||||
" \"Bart\",\n"
|
" \"Bart\",\n"
|
||||||
" \"Lisa\",\n"
|
" \"Lisa\",\n"
|
||||||
" \"Maggie\"\n"
|
" \"Maggie\"\n"
|
||||||
" ],\n"
|
" ],\n"
|
||||||
" \"address\" : {\n"
|
" \"address\": {\n"
|
||||||
" \"number\" : 742,\n"
|
" \"number\": 742,\n"
|
||||||
" \"street\" : \"Evergreen Terrace\",\n"
|
" \"street\": \"Evergreen Terrace\",\n"
|
||||||
" \"town\" : \"Springfield\"\n"
|
" \"town\": \"Springfield\"\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
"}");
|
"}");
|
||||||
@@ -1640,33 +1639,33 @@ void JSONTest::testStringifyPreserveOrder()
|
|||||||
ostr.str("");
|
ostr.str("");
|
||||||
Stringifier::stringify(result, ostr, 4);
|
Stringifier::stringify(result, ostr, 4);
|
||||||
assertTrue (ostr.str() == "{\n"
|
assertTrue (ostr.str() == "{\n"
|
||||||
" \"Simpsons\" : {\n"
|
" \"Simpsons\": {\n"
|
||||||
" \"husband\" : {\n"
|
" \"husband\": {\n"
|
||||||
" \"name\" : \"Homer\",\n"
|
" \"name\": \"Homer\",\n"
|
||||||
" \"age\" : 38\n"
|
" \"age\": 38\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"wife\" : {\n"
|
" \"wife\": {\n"
|
||||||
" \"name\" : \"Marge\",\n"
|
" \"name\": \"Marge\",\n"
|
||||||
" \"age\" : 36\n"
|
" \"age\": 36\n"
|
||||||
" },\n"
|
" },\n"
|
||||||
" \"children\" : [\n"
|
" \"children\": [\n"
|
||||||
" \"Bart\",\n"
|
" \"Bart\",\n"
|
||||||
" \"Lisa\",\n"
|
" \"Lisa\",\n"
|
||||||
" \"Maggie\"\n"
|
" \"Maggie\"\n"
|
||||||
" ],\n"
|
" ],\n"
|
||||||
" \"address\" : {\n"
|
" \"address\": {\n"
|
||||||
" \"number\" : 742,\n"
|
" \"number\": 742,\n"
|
||||||
" \"street\" : \"Evergreen Terrace\",\n"
|
" \"street\": \"Evergreen Terrace\",\n"
|
||||||
" \"town\" : \"Springfield\"\n"
|
" \"town\": \"Springfield\"\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
"}");
|
"}");
|
||||||
|
|
||||||
Poco::DynamicStruct ds = *result.extract<Object::Ptr>();
|
Poco::DynamicStruct ds = *result.extract<Object::Ptr>();
|
||||||
assertTrue(ds.toString() == "{ \"Simpsons\" : { \"address\" : { \"number\" : 742, \"street\" : \"Evergreen Terrace\", \"town\" : \"Springfield\" }, "
|
assertTrue(ds.toString() == "{ \"Simpsons\": { \"address\": { \"number\": 742, \"street\": \"Evergreen Terrace\", \"town\": \"Springfield\" }, "
|
||||||
"\"children\" : [ \"Bart\", \"Lisa\", \"Maggie\" ], "
|
"\"children\": [ \"Bart\", \"Lisa\", \"Maggie\" ], "
|
||||||
"\"husband\" : { \"age\" : 38, \"name\" : \"Homer\" }, "
|
"\"husband\": { \"age\": 38, \"name\": \"Homer\" }, "
|
||||||
"\"wife\" : { \"age\" : 36, \"name\" : \"Marge\" } } }");
|
"\"wife\": { \"age\": 36, \"name\": \"Marge\" } } }");
|
||||||
assertTrue (ds["Simpsons"].isStruct());
|
assertTrue (ds["Simpsons"].isStruct());
|
||||||
assertFalse(ds["Simpsons"].isOrdered());
|
assertFalse(ds["Simpsons"].isOrdered());
|
||||||
assertTrue (ds["Simpsons"]["husband"].isStruct());
|
assertTrue (ds["Simpsons"]["husband"].isStruct());
|
||||||
@@ -1690,11 +1689,11 @@ void JSONTest::testStringifyPreserveOrder()
|
|||||||
Poco::OrderedDynamicStruct ods = *result.extract<Object::Ptr>();
|
Poco::OrderedDynamicStruct ods = *result.extract<Object::Ptr>();
|
||||||
assertTrue(ods["Simpsons"].isStruct());
|
assertTrue(ods["Simpsons"].isStruct());
|
||||||
assertTrue(ods["Simpsons"].isOrdered());
|
assertTrue(ods["Simpsons"].isOrdered());
|
||||||
assertTrue(ods.toString() == "{ \"Simpsons\" : { \"husband\" : { \"name\" : \"Homer\", \"age\" : 38 }, "
|
assertTrue(ods.toString() == "{ \"Simpsons\": { \"husband\": { \"name\": \"Homer\", \"age\": 38 }, "
|
||||||
"\"wife\" : { \"name\" : \"Marge\", \"age\" : 36 }, "
|
"\"wife\": { \"name\": \"Marge\", \"age\": 36 }, "
|
||||||
"\"children\" : [ \"Bart\", \"Lisa\", \"Maggie\" ], "
|
"\"children\": [ \"Bart\", \"Lisa\", \"Maggie\" ], "
|
||||||
"\"address\" : { \"number\" : 742, \"street\" : \"Evergreen Terrace\", "
|
"\"address\": { \"number\": 742, \"street\": \"Evergreen Terrace\", "
|
||||||
"\"town\" : \"Springfield\" } } }");
|
"\"town\": \"Springfield\" } } }");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user