diff options
author | Brandon Cole <brandon.w.cole@gmail.com> | 2018-08-30 11:04:55 -0400 |
---|---|---|
committer | Brandon Cole <brandon.w.cole@gmail.com> | 2018-08-30 11:04:55 -0400 |
commit | d83a9f66bcf9dfcee6bfd739ba09f405362036d9 (patch) | |
tree | f84847275e544369342069d8229b2fe647da730d /src | |
parent | 45d03a977193d1dcce5251e4bffe17bf0ba738ec (diff) | |
download | protobuf-d83a9f66bcf9dfcee6bfd739ba09f405362036d9.tar.gz protobuf-d83a9f66bcf9dfcee6bfd739ba09f405362036d9.tar.bz2 protobuf-d83a9f66bcf9dfcee6bfd739ba09f405362036d9.zip |
Add unit test for loading unknown fields in Any messages
Use ./tests.sh cpp to run it
Diffstat (limited to 'src')
-rw-r--r-- | src/google/protobuf/util/json_util_test.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/google/protobuf/util/json_util_test.cc b/src/google/protobuf/util/json_util_test.cc index cbfc7ada..078d194b 100644 --- a/src/google/protobuf/util/json_util_test.cc +++ b/src/google/protobuf/util/json_util_test.cc @@ -56,6 +56,7 @@ using proto3::TestEnumValue; using proto3::TestMap; using proto3::TestMessage; using proto3::TestOneof; +using proto3::TestAny; static const char kTypeUrlPrefix[] = "type.googleapis.com"; @@ -357,6 +358,23 @@ TEST_F(JsonUtilTest, TestDynamicMessage) { EXPECT_EQ(ToJson(generated, options), ToJson(*message, options)); } +TEST_F(JsonUtilTest, TestParsingUnknownAnyFields) { + string input = + "{\n" + " \"value\": {\n" + " \"@type\": \"type.googleapis.com/proto3.TestMessage\",\n" + " \"unknown_field\": \"UNKOWN_VALUE\"\n" + " }\n" + "}"; + + TestAny m; + JsonParseOptions options; + EXPECT_FALSE(FromJson(input, &m, options)); + + options.ignore_unknown_fields = true; + EXPECT_TRUE(FromJson(input, &m, options)); +} + TEST_F(JsonUtilTest, TestParsingUnknownEnumsProto2) { string input = "{\n" |