diff options
author | Haibo Huang <hhb@google.com> | 2021-02-24 17:43:12 -0800 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2021-03-02 11:27:38 -0800 |
commit | c9cf7abc78472a386b3e09893fca8431a5f03618 (patch) | |
tree | 1a3a232e8d7250bcab5891daf5f8c67e6e476764 /libjsonpb | |
parent | 108d41e35870b4bfef7e79c9266f05e088e65544 (diff) | |
download | extras-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.cpp | 21 | ||||
-rw-r--r-- | libjsonpb/verify/verify.cpp | 23 |
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; } |