summaryrefslogtreecommitdiff
path: root/libjsonpb
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2021-02-24 17:43:12 -0800
committerHaibo Huang <hhb@google.com>2021-03-02 11:27:38 -0800
commitc9cf7abc78472a386b3e09893fca8431a5f03618 (patch)
tree1a3a232e8d7250bcab5891daf5f8c67e6e476764 /libjsonpb
parent108d41e35870b4bfef7e79c9266f05e088e65544 (diff)
downloadextras-c9cf7abc78472a386b3e09893fca8431a5f03618.tar.gz
[libjsonpb] Use new jsoncpp API
Reader / StyledWriter are deprecated upstream Bug: 170642246 Change-Id: I530444aa70df939239caa2be9a3197d54bcb6526
Diffstat (limited to 'libjsonpb')
-rw-r--r--libjsonpb/verify/test.cpp21
-rw-r--r--libjsonpb/verify/verify.cpp23
2 files changed, 25 insertions, 19 deletions
diff --git a/libjsonpb/verify/test.cpp b/libjsonpb/verify/test.cpp
index a430c134..2c69d6c3 100644
--- a/libjsonpb/verify/test.cpp
+++ b/libjsonpb/verify/test.cpp
@@ -209,19 +209,22 @@ TEST_F(EmbeddedJsonKeyTest, QuxQuux) {
class ScalarTest : public LibJsonpbVerifyTest {
public:
::testing::AssertionResult IsJsonEq(const std::string& l, const std::string& r) {
- Json::Reader reader;
+ Json::CharReaderBuilder builder;
+ std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
Json::Value lvalue;
- if (!reader.parse(l, lvalue))
- return ::testing::AssertionFailure() << reader.getFormattedErrorMessages();
+ std::string errorMessage;
+ if (!reader->parse(&*l.begin(), &*l.end(), &lvalue, &errorMessage))
+ return ::testing::AssertionFailure() << errorMessage;
Json::Value rvalue;
- if (!reader.parse(r, rvalue))
- return ::testing::AssertionFailure() << reader.getFormattedErrorMessages();
- Json::StyledWriter writer;
+ if (!reader->parse(&*r.begin(), &*r.end(), &rvalue, &errorMessage))
+ return ::testing::AssertionFailure() << errorMessage;
+ Json::StreamWriterBuilder factory;
return lvalue == rvalue
? (::testing::AssertionSuccess() << "Both are \n"
- << writer.write(lvalue))
- : (::testing::AssertionFailure() << writer.write(lvalue) << "\n does not equal \n"
- << writer.write(rvalue));
+ << Json::writeString(factory, lvalue))
+ : (::testing::AssertionFailure() << Json::writeString(factory, lvalue)
+ << "\n does not equal \n"
+ << Json::writeString(factory, rvalue));
}
bool EqReformattedJson(const std::string& json, std::string* error) {
diff --git a/libjsonpb/verify/verify.cpp b/libjsonpb/verify/verify.cpp
index c879afb6..d3e986dd 100644
--- a/libjsonpb/verify/verify.cpp
+++ b/libjsonpb/verify/verify.cpp
@@ -135,10 +135,11 @@ bool AllFieldsAreKnown(const Message& message, const Json::Value& json,
bool AllFieldsAreKnown(const google::protobuf::Message& message, const std::string& json,
std::string* error) {
- Json::Reader reader;
+ Json::CharReaderBuilder builder;
+ std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
+ std::string errorMessage;
Json::Value value;
- if (!reader.parse(json, value)) {
- *error = reader.getFormattedErrorMessages();
+ if (!reader->parse(&*json.begin(), &*json.end(), &value, error)) {
return false;
}
@@ -153,10 +154,11 @@ bool AllFieldsAreKnown(const google::protobuf::Message& message, const std::stri
bool EqReformattedJson(const std::string& json, google::protobuf::Message* scratch_space,
std::string* error) {
- Json::Reader reader;
+ Json::CharReaderBuilder builder;
+ std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
Json::Value old_json;
- if (!reader.parse(json, old_json)) {
- *error = reader.getFormattedErrorMessages();
+ std::string errorMessage;
+ if (!reader->parse(&*json.begin(), &*json.end(), &old_json, error)) {
return false;
}
@@ -166,8 +168,7 @@ bool EqReformattedJson(const std::string& json, google::protobuf::Message* scrat
return false;
}
Json::Value new_json;
- if (!reader.parse(*new_json_string, new_json)) {
- *error = reader.getFormattedErrorMessages();
+ if (!reader->parse(&*new_json_string->begin(), &*new_json_string->end(), &new_json, error)) {
return false;
}
@@ -188,8 +189,10 @@ bool EqReformattedJson(const std::string& json, google::protobuf::Message* scrat
"option\n"
" for appropriate fields.\n"
"\n"
- "Reformatted JSON is printed below.\n"
- << Json::StyledWriter().write(new_json);
+ "Reformatted JSON is printed below.\n";
+ Json::StreamWriterBuilder factory;
+ std::unique_ptr<Json::StreamWriter> const writer(factory.newStreamWriter());
+ writer->write(new_json, &ss);
*error = ss.str();
return false;
}