diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2018-08-08 17:00:41 -0700 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2018-08-08 17:00:41 -0700 |
commit | 6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3 (patch) | |
tree | e575738adf52d24b883cca5e8928a5ded31caba1 /src/google/protobuf/drop_unknown_fields_test.cc | |
parent | e7746f487cb9cca685ffb1b3d7dccc5554b618a4 (diff) | |
download | protobuf-6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3.tar.gz protobuf-6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3.tar.bz2 protobuf-6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3.zip |
Down-integrate from google3.
Diffstat (limited to 'src/google/protobuf/drop_unknown_fields_test.cc')
-rw-r--r-- | src/google/protobuf/drop_unknown_fields_test.cc | 54 |
1 files changed, 5 insertions, 49 deletions
diff --git a/src/google/protobuf/drop_unknown_fields_test.cc b/src/google/protobuf/drop_unknown_fields_test.cc index 437a04e7..55b9ecd3 100644 --- a/src/google/protobuf/drop_unknown_fields_test.cc +++ b/src/google/protobuf/drop_unknown_fields_test.cc @@ -35,35 +35,13 @@ #include <google/protobuf/message_lite.h> #include <gtest/gtest.h> -namespace google { using unittest_drop_unknown_fields::Foo; using unittest_drop_unknown_fields::FooWithExtraFields; +namespace google { namespace protobuf { -TEST(DropUnknownFieldsTest, GeneratedMessageDefaultDrop) { - ::google::protobuf::internal::SetProto3PreserveUnknownsDefault(false); - FooWithExtraFields foo_with_extra_fields; - foo_with_extra_fields.set_int32_value(1); - foo_with_extra_fields.set_enum_value(FooWithExtraFields::QUX); - foo_with_extra_fields.set_extra_int32_value(2); - - Foo foo; - ASSERT_TRUE(foo.ParseFromString(foo_with_extra_fields.SerializeAsString())); - EXPECT_EQ(1, foo.int32_value()); - EXPECT_EQ(static_cast<int>(FooWithExtraFields::QUX), - static_cast<int>(foo.enum_value())); - EXPECT_TRUE(foo.GetReflection()->GetUnknownFields(foo).empty()); - - ASSERT_TRUE(foo_with_extra_fields.ParseFromString(foo.SerializeAsString())); - EXPECT_EQ(1, foo_with_extra_fields.int32_value()); - EXPECT_EQ(FooWithExtraFields::QUX, foo_with_extra_fields.enum_value()); - // The "extra_int32_value" field should be lost. - EXPECT_EQ(0, foo_with_extra_fields.extra_int32_value()); -} - -TEST(DropUnknownFieldsTest, GeneratedMessageDefaultPreserve) { - ::google::protobuf::internal::SetProto3PreserveUnknownsDefault(true); +TEST(DropUnknownFieldsTest, GeneratedMessage) { FooWithExtraFields foo_with_extra_fields; foo_with_extra_fields.set_int32_value(1); foo_with_extra_fields.set_enum_value(FooWithExtraFields::QUX); @@ -83,36 +61,14 @@ TEST(DropUnknownFieldsTest, GeneratedMessageDefaultPreserve) { EXPECT_EQ(2, foo_with_extra_fields.extra_int32_value()); } -TEST(DropUnknownFieldsTest, DynamicMessageDefaultDrop) { - internal::SetProto3PreserveUnknownsDefault(false); - FooWithExtraFields foo_with_extra_fields; - foo_with_extra_fields.set_int32_value(1); - foo_with_extra_fields.set_enum_value(FooWithExtraFields::QUX); - foo_with_extra_fields.set_extra_int32_value(2); - - google::protobuf::DynamicMessageFactory factory; - std::unique_ptr<google::protobuf::Message> foo( - factory.GetPrototype(Foo::descriptor())->New()); - ASSERT_TRUE(foo->ParseFromString(foo_with_extra_fields.SerializeAsString())); - EXPECT_TRUE(foo->GetReflection()->GetUnknownFields(*foo).empty()); - - ASSERT_TRUE(foo_with_extra_fields.ParseFromString(foo->SerializeAsString())); - EXPECT_EQ(1, foo_with_extra_fields.int32_value()); - EXPECT_EQ(FooWithExtraFields::QUX, foo_with_extra_fields.enum_value()); - // The "extra_int32_value" field should be lost. - EXPECT_EQ(0, foo_with_extra_fields.extra_int32_value()); -} - -TEST(DropUnknownFieldsTest, DynamicMessageDefaultPreserve) { - internal::SetProto3PreserveUnknownsDefault(true); +TEST(DropUnknownFieldsTest, DynamicMessage) { FooWithExtraFields foo_with_extra_fields; foo_with_extra_fields.set_int32_value(1); foo_with_extra_fields.set_enum_value(FooWithExtraFields::QUX); foo_with_extra_fields.set_extra_int32_value(2); - google::protobuf::DynamicMessageFactory factory; - std::unique_ptr<google::protobuf::Message> foo( - factory.GetPrototype(Foo::descriptor())->New()); + DynamicMessageFactory factory; + std::unique_ptr<Message> foo(factory.GetPrototype(Foo::descriptor())->New()); ASSERT_TRUE(foo->ParseFromString(foo_with_extra_fields.SerializeAsString())); EXPECT_FALSE(foo->GetReflection()->GetUnknownFields(*foo).empty()); |