mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Cleanup some Json::Value methods:
* Rename isArray to isArrayOrNull * Rename isObject to isObjectOrNull * Introduce isArray and isObject * Change as many uses of isArrayorNull to isArray as possible * Change as many uses of isObjectorNull to isObject as possible * Reject null JSON arrays for subscribe and unsubscribe
This commit is contained in:
committed by
Mike Ellery
parent
20defb4844
commit
1a245234f1
@@ -213,8 +213,7 @@ struct Regression_test : public beast::unit_test::suite
|
||||
std::vector<boost::asio::const_buffer> buffers;
|
||||
buffers.emplace_back(buffer(request, 1024));
|
||||
buffers.emplace_back(buffer(request.data() + 1024, request.length() - 1024));
|
||||
BEAST_EXPECT(jrReader.parse(jvRequest, buffers) &&
|
||||
jvRequest && jvRequest.isObject());
|
||||
BEAST_EXPECT(jrReader.parse(jvRequest, buffers) && jvRequest.isObject());
|
||||
}
|
||||
|
||||
void run() override
|
||||
|
||||
@@ -38,9 +38,7 @@ public:
|
||||
bool parseJSONString (std::string const& json, Json::Value& to)
|
||||
{
|
||||
Json::Reader reader;
|
||||
return reader.parse(json, to) &&
|
||||
bool (to) &&
|
||||
to.isObject();
|
||||
return reader.parse(json, to) && to.isObject();
|
||||
}
|
||||
|
||||
void testParseJSONArrayWithInvalidChildrenObjects ()
|
||||
|
||||
@@ -64,7 +64,7 @@ class AmendmentBlocked_test : public beast::unit_test::suite
|
||||
pf_req[jss::destination_amount] = bob["USD"](20).value ().getJson (0);
|
||||
jr = wsc->invoke("path_find", pf_req) [jss::result];
|
||||
BEAST_EXPECT (jr.isMember (jss::alternatives) &&
|
||||
jr[jss::alternatives].isArray () &&
|
||||
jr[jss::alternatives].isArray() &&
|
||||
jr[jss::alternatives].size () == 1);
|
||||
|
||||
// submit
|
||||
|
||||
@@ -462,11 +462,16 @@ public:
|
||||
BEAST_EXPECT(jr[jss::error_message] == "You don't have permission for this command.");
|
||||
}
|
||||
|
||||
std::initializer_list<Json::Value> const nonArrays {Json::nullValue,
|
||||
Json::intValue, Json::uintValue, Json::realValue, "",
|
||||
Json::booleanValue, Json::objectValue};
|
||||
|
||||
for (auto const& f : {jss::accounts_proposed, jss::accounts})
|
||||
{
|
||||
for (auto const& nonArray : nonArrays)
|
||||
{
|
||||
Json::Value jv;
|
||||
jv[f] = "";
|
||||
jv[f] = nonArray;
|
||||
auto jr = wsc->invoke(method, jv) [jss::result];
|
||||
BEAST_EXPECT(jr[jss::error] == "invalidParams");
|
||||
BEAST_EXPECT(jr[jss::error_message] == "Invalid parameters.");
|
||||
@@ -481,9 +486,10 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
for (auto const& nonArray : nonArrays)
|
||||
{
|
||||
Json::Value jv;
|
||||
jv[jss::books] = "";
|
||||
jv[jss::books] = nonArray;
|
||||
auto jr = wsc->invoke(method, jv) [jss::result];
|
||||
BEAST_EXPECT(jr[jss::error] == "invalidParams");
|
||||
BEAST_EXPECT(jr[jss::error_message] == "Invalid parameters.");
|
||||
@@ -608,9 +614,10 @@ public:
|
||||
BEAST_EXPECT(jr[jss::error_message] == "No such market.");
|
||||
}
|
||||
|
||||
for (auto const& nonArray : nonArrays)
|
||||
{
|
||||
Json::Value jv;
|
||||
jv[jss::streams] = "";
|
||||
jv[jss::streams] = nonArray;
|
||||
auto jr = wsc->invoke(method, jv) [jss::result];
|
||||
BEAST_EXPECT(jr[jss::error] == "invalidParams");
|
||||
BEAST_EXPECT(jr[jss::error_message] == "Invalid parameters.");
|
||||
|
||||
Reference in New Issue
Block a user