aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrandon Cole <brandon.w.cole@gmail.com>2018-08-30 11:04:55 -0400
committerBrandon Cole <brandon.w.cole@gmail.com>2018-08-30 11:04:55 -0400
commitd83a9f66bcf9dfcee6bfd739ba09f405362036d9 (patch)
treef84847275e544369342069d8229b2fe647da730d /src
parent45d03a977193d1dcce5251e4bffe17bf0ba738ec (diff)
downloadprotobuf-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.cc18
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"