| Index: third_party/protobuf/src/google/protobuf/test_util.cc
|
| ===================================================================
|
| --- third_party/protobuf/src/google/protobuf/test_util.cc (revision 216642)
|
| +++ third_party/protobuf/src/google/protobuf/test_util.cc (working copy)
|
| @@ -50,6 +50,13 @@
|
| namespace protobuf {
|
|
|
| void TestUtil::SetAllFields(unittest::TestAllTypes* message) {
|
| + SetOptionalFields(message);
|
| + AddRepeatedFields1(message);
|
| + AddRepeatedFields2(message);
|
| + SetDefaultFields(message);
|
| +}
|
| +
|
| +void TestUtil::SetOptionalFields(unittest::TestAllTypes* message) {
|
| message->set_optional_int32 (101);
|
| message->set_optional_int64 (102);
|
| message->set_optional_uint32 (103);
|
| @@ -66,10 +73,12 @@
|
| message->set_optional_string ("115");
|
| message->set_optional_bytes ("116");
|
|
|
| - message->mutable_optionalgroup ()->set_a(117);
|
| - message->mutable_optional_nested_message ()->set_bb(118);
|
| - message->mutable_optional_foreign_message()->set_c(119);
|
| - message->mutable_optional_import_message ()->set_d(120);
|
| + message->mutable_optionalgroup ()->set_a(117);
|
| + message->mutable_optional_nested_message ()->set_bb(118);
|
| + message->mutable_optional_foreign_message ()->set_c(119);
|
| + message->mutable_optional_import_message ()->set_d(120);
|
| + message->mutable_optional_public_import_message()->set_e(126);
|
| + message->mutable_optional_lazy_message ()->set_bb(127);
|
|
|
| message->set_optional_nested_enum (unittest::TestAllTypes::BAZ);
|
| message->set_optional_foreign_enum(unittest::FOREIGN_BAZ );
|
| @@ -87,9 +96,11 @@
|
| message->GetDescriptor()->FindFieldByName("optional_cord"),
|
| "125");
|
| #endif // !PROTOBUF_TEST_NO_DESCRIPTORS
|
| +}
|
|
|
| - // -----------------------------------------------------------------
|
| +// -------------------------------------------------------------------
|
|
|
| +void TestUtil::AddRepeatedFields1(unittest::TestAllTypes* message) {
|
| message->add_repeated_int32 (201);
|
| message->add_repeated_int64 (202);
|
| message->add_repeated_uint32 (203);
|
| @@ -110,6 +121,7 @@
|
| message->add_repeated_nested_message ()->set_bb(218);
|
| message->add_repeated_foreign_message()->set_c(219);
|
| message->add_repeated_import_message ()->set_d(220);
|
| + message->add_repeated_lazy_message ()->set_bb(227);
|
|
|
| message->add_repeated_nested_enum (unittest::TestAllTypes::BAR);
|
| message->add_repeated_foreign_enum(unittest::FOREIGN_BAR );
|
| @@ -125,7 +137,9 @@
|
| message->GetDescriptor()->FindFieldByName("repeated_cord"),
|
| "225");
|
| #endif // !PROTOBUF_TEST_NO_DESCRIPTORS
|
| +}
|
|
|
| +void TestUtil::AddRepeatedFields2(unittest::TestAllTypes* message) {
|
| // Add a second one of each field.
|
| message->add_repeated_int32 (301);
|
| message->add_repeated_int64 (302);
|
| @@ -147,6 +161,7 @@
|
| message->add_repeated_nested_message ()->set_bb(318);
|
| message->add_repeated_foreign_message()->set_c(319);
|
| message->add_repeated_import_message ()->set_d(320);
|
| + message->add_repeated_lazy_message ()->set_bb(327);
|
|
|
| message->add_repeated_nested_enum (unittest::TestAllTypes::BAZ);
|
| message->add_repeated_foreign_enum(unittest::FOREIGN_BAZ );
|
| @@ -162,9 +177,11 @@
|
| message->GetDescriptor()->FindFieldByName("repeated_cord"),
|
| "325");
|
| #endif // !PROTOBUF_TEST_NO_DESCRIPTORS
|
| +}
|
|
|
| - // -----------------------------------------------------------------
|
| +// -------------------------------------------------------------------
|
|
|
| +void TestUtil::SetDefaultFields(unittest::TestAllTypes* message) {
|
| message->set_default_int32 (401);
|
| message->set_default_int64 (402);
|
| message->set_default_uint32 (403);
|
| @@ -220,6 +237,7 @@
|
| message->mutable_repeated_nested_message (1)->set_bb(518);
|
| message->mutable_repeated_foreign_message(1)->set_c(519);
|
| message->mutable_repeated_import_message (1)->set_d(520);
|
| + message->mutable_repeated_lazy_message (1)->set_bb(527);
|
|
|
| message->set_repeated_nested_enum (1, unittest::TestAllTypes::FOO);
|
| message->set_repeated_foreign_enum(1, unittest::FOREIGN_FOO );
|
| @@ -256,15 +274,19 @@
|
| EXPECT_TRUE(message.has_optional_string ());
|
| EXPECT_TRUE(message.has_optional_bytes ());
|
|
|
| - EXPECT_TRUE(message.has_optionalgroup ());
|
| - EXPECT_TRUE(message.has_optional_nested_message ());
|
| - EXPECT_TRUE(message.has_optional_foreign_message());
|
| - EXPECT_TRUE(message.has_optional_import_message ());
|
| + EXPECT_TRUE(message.has_optionalgroup ());
|
| + EXPECT_TRUE(message.has_optional_nested_message ());
|
| + EXPECT_TRUE(message.has_optional_foreign_message ());
|
| + EXPECT_TRUE(message.has_optional_import_message ());
|
| + EXPECT_TRUE(message.has_optional_public_import_message());
|
| + EXPECT_TRUE(message.has_optional_lazy_message ());
|
|
|
| - EXPECT_TRUE(message.optionalgroup ().has_a());
|
| - EXPECT_TRUE(message.optional_nested_message ().has_bb());
|
| - EXPECT_TRUE(message.optional_foreign_message().has_c());
|
| - EXPECT_TRUE(message.optional_import_message ().has_d());
|
| + EXPECT_TRUE(message.optionalgroup ().has_a());
|
| + EXPECT_TRUE(message.optional_nested_message ().has_bb());
|
| + EXPECT_TRUE(message.optional_foreign_message ().has_c());
|
| + EXPECT_TRUE(message.optional_import_message ().has_d());
|
| + EXPECT_TRUE(message.optional_public_import_message().has_e());
|
| + EXPECT_TRUE(message.optional_lazy_message ().has_bb());
|
|
|
| EXPECT_TRUE(message.has_optional_nested_enum ());
|
| EXPECT_TRUE(message.has_optional_foreign_enum());
|
| @@ -291,10 +313,12 @@
|
| EXPECT_EQ("115", message.optional_string ());
|
| EXPECT_EQ("116", message.optional_bytes ());
|
|
|
| - EXPECT_EQ(117, message.optionalgroup ().a());
|
| - EXPECT_EQ(118, message.optional_nested_message ().bb());
|
| - EXPECT_EQ(119, message.optional_foreign_message().c());
|
| - EXPECT_EQ(120, message.optional_import_message ().d());
|
| + EXPECT_EQ(117, message.optionalgroup ().a());
|
| + EXPECT_EQ(118, message.optional_nested_message ().bb());
|
| + EXPECT_EQ(119, message.optional_foreign_message ().c());
|
| + EXPECT_EQ(120, message.optional_import_message ().d());
|
| + EXPECT_EQ(126, message.optional_public_import_message ().e());
|
| + EXPECT_EQ(127, message.optional_lazy_message ().bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAZ, message.optional_nested_enum ());
|
| EXPECT_EQ(unittest::FOREIGN_BAZ , message.optional_foreign_enum());
|
| @@ -323,6 +347,7 @@
|
| ASSERT_EQ(2, message.repeated_nested_message_size ());
|
| ASSERT_EQ(2, message.repeated_foreign_message_size());
|
| ASSERT_EQ(2, message.repeated_import_message_size ());
|
| + ASSERT_EQ(2, message.repeated_lazy_message_size ());
|
| ASSERT_EQ(2, message.repeated_nested_enum_size ());
|
| ASSERT_EQ(2, message.repeated_foreign_enum_size ());
|
| ASSERT_EQ(2, message.repeated_import_enum_size ());
|
| @@ -352,6 +377,7 @@
|
| EXPECT_EQ(218, message.repeated_nested_message (0).bb());
|
| EXPECT_EQ(219, message.repeated_foreign_message(0).c());
|
| EXPECT_EQ(220, message.repeated_import_message (0).d());
|
| + EXPECT_EQ(227, message.repeated_lazy_message (0).bb());
|
|
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0));
|
| @@ -378,6 +404,7 @@
|
| EXPECT_EQ(318, message.repeated_nested_message (1).bb());
|
| EXPECT_EQ(319, message.repeated_foreign_message(1).c());
|
| EXPECT_EQ(320, message.repeated_import_message (1).d());
|
| + EXPECT_EQ(327, message.repeated_lazy_message (1).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAZ, message.repeated_nested_enum (1));
|
| EXPECT_EQ(unittest::FOREIGN_BAZ , message.repeated_foreign_enum(1));
|
| @@ -449,10 +476,12 @@
|
| EXPECT_FALSE(message.has_optional_string ());
|
| EXPECT_FALSE(message.has_optional_bytes ());
|
|
|
| - EXPECT_FALSE(message.has_optionalgroup ());
|
| - EXPECT_FALSE(message.has_optional_nested_message ());
|
| - EXPECT_FALSE(message.has_optional_foreign_message());
|
| - EXPECT_FALSE(message.has_optional_import_message ());
|
| + EXPECT_FALSE(message.has_optionalgroup ());
|
| + EXPECT_FALSE(message.has_optional_nested_message ());
|
| + EXPECT_FALSE(message.has_optional_foreign_message ());
|
| + EXPECT_FALSE(message.has_optional_import_message ());
|
| + EXPECT_FALSE(message.has_optional_public_import_message());
|
| + EXPECT_FALSE(message.has_optional_lazy_message ());
|
|
|
| EXPECT_FALSE(message.has_optional_nested_enum ());
|
| EXPECT_FALSE(message.has_optional_foreign_enum());
|
| @@ -479,15 +508,19 @@
|
| EXPECT_EQ("" , message.optional_bytes ());
|
|
|
| // Embedded messages should also be clear.
|
| - EXPECT_FALSE(message.optionalgroup ().has_a());
|
| - EXPECT_FALSE(message.optional_nested_message ().has_bb());
|
| - EXPECT_FALSE(message.optional_foreign_message().has_c());
|
| - EXPECT_FALSE(message.optional_import_message ().has_d());
|
| + EXPECT_FALSE(message.optionalgroup ().has_a());
|
| + EXPECT_FALSE(message.optional_nested_message ().has_bb());
|
| + EXPECT_FALSE(message.optional_foreign_message ().has_c());
|
| + EXPECT_FALSE(message.optional_import_message ().has_d());
|
| + EXPECT_FALSE(message.optional_public_import_message().has_e());
|
| + EXPECT_FALSE(message.optional_lazy_message ().has_bb());
|
|
|
| - EXPECT_EQ(0, message.optionalgroup ().a());
|
| - EXPECT_EQ(0, message.optional_nested_message ().bb());
|
| - EXPECT_EQ(0, message.optional_foreign_message().c());
|
| - EXPECT_EQ(0, message.optional_import_message ().d());
|
| + EXPECT_EQ(0, message.optionalgroup ().a());
|
| + EXPECT_EQ(0, message.optional_nested_message ().bb());
|
| + EXPECT_EQ(0, message.optional_foreign_message ().c());
|
| + EXPECT_EQ(0, message.optional_import_message ().d());
|
| + EXPECT_EQ(0, message.optional_public_import_message().e());
|
| + EXPECT_EQ(0, message.optional_lazy_message ().bb());
|
|
|
| // Enums without defaults are set to the first value in the enum.
|
| EXPECT_EQ(unittest::TestAllTypes::FOO, message.optional_nested_enum ());
|
| @@ -516,6 +549,7 @@
|
| EXPECT_EQ(0, message.repeated_nested_message_size ());
|
| EXPECT_EQ(0, message.repeated_foreign_message_size());
|
| EXPECT_EQ(0, message.repeated_import_message_size ());
|
| + EXPECT_EQ(0, message.repeated_lazy_message_size ());
|
| EXPECT_EQ(0, message.repeated_nested_enum_size ());
|
| EXPECT_EQ(0, message.repeated_foreign_enum_size ());
|
| EXPECT_EQ(0, message.repeated_import_enum_size ());
|
| @@ -595,6 +629,7 @@
|
| ASSERT_EQ(2, message.repeated_nested_message_size ());
|
| ASSERT_EQ(2, message.repeated_foreign_message_size());
|
| ASSERT_EQ(2, message.repeated_import_message_size ());
|
| + ASSERT_EQ(2, message.repeated_lazy_message_size ());
|
| ASSERT_EQ(2, message.repeated_nested_enum_size ());
|
| ASSERT_EQ(2, message.repeated_foreign_enum_size ());
|
| ASSERT_EQ(2, message.repeated_import_enum_size ());
|
| @@ -624,6 +659,7 @@
|
| EXPECT_EQ(218, message.repeated_nested_message (0).bb());
|
| EXPECT_EQ(219, message.repeated_foreign_message(0).c());
|
| EXPECT_EQ(220, message.repeated_import_message (0).d());
|
| + EXPECT_EQ(227, message.repeated_lazy_message (0).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0));
|
| @@ -651,6 +687,7 @@
|
| EXPECT_EQ(518, message.repeated_nested_message (1).bb());
|
| EXPECT_EQ(519, message.repeated_foreign_message(1).c());
|
| EXPECT_EQ(520, message.repeated_import_message (1).d());
|
| + EXPECT_EQ(527, message.repeated_lazy_message (1).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::FOO, message.repeated_nested_enum (1));
|
| EXPECT_EQ(unittest::FOREIGN_FOO , message.repeated_foreign_enum(1));
|
| @@ -953,6 +990,9 @@
|
| message->SetExtension(unittest::optional_string_piece_extension, "124");
|
| message->SetExtension(unittest::optional_cord_extension, "125");
|
|
|
| + message->MutableExtension(unittest::optional_public_import_message_extension)->set_e(126);
|
| + message->MutableExtension(unittest::optional_lazy_message_extension)->set_bb(127);
|
| +
|
| // -----------------------------------------------------------------
|
|
|
| message->AddExtension(unittest::repeated_int32_extension , 201);
|
| @@ -975,6 +1015,7 @@
|
| message->AddExtension(unittest::repeated_nested_message_extension )->set_bb(218);
|
| message->AddExtension(unittest::repeated_foreign_message_extension)->set_c(219);
|
| message->AddExtension(unittest::repeated_import_message_extension )->set_d(220);
|
| + message->AddExtension(unittest::repeated_lazy_message_extension )->set_bb(227);
|
|
|
| message->AddExtension(unittest::repeated_nested_enum_extension , unittest::TestAllTypes::BAR);
|
| message->AddExtension(unittest::repeated_foreign_enum_extension, unittest::FOREIGN_BAR );
|
| @@ -1004,6 +1045,7 @@
|
| message->AddExtension(unittest::repeated_nested_message_extension )->set_bb(318);
|
| message->AddExtension(unittest::repeated_foreign_message_extension)->set_c(319);
|
| message->AddExtension(unittest::repeated_import_message_extension )->set_d(320);
|
| + message->AddExtension(unittest::repeated_lazy_message_extension )->set_bb(327);
|
|
|
| message->AddExtension(unittest::repeated_nested_enum_extension , unittest::TestAllTypes::BAZ);
|
| message->AddExtension(unittest::repeated_foreign_enum_extension, unittest::FOREIGN_BAZ );
|
| @@ -1073,6 +1115,7 @@
|
| message->MutableExtension(unittest::repeated_nested_message_extension , 1)->set_bb(518);
|
| message->MutableExtension(unittest::repeated_foreign_message_extension, 1)->set_c(519);
|
| message->MutableExtension(unittest::repeated_import_message_extension , 1)->set_d(520);
|
| + message->MutableExtension(unittest::repeated_lazy_message_extension , 1)->set_bb(527);
|
|
|
| message->SetExtension(unittest::repeated_nested_enum_extension , 1, unittest::TestAllTypes::FOO);
|
| message->SetExtension(unittest::repeated_foreign_enum_extension, 1, unittest::FOREIGN_FOO );
|
| @@ -1102,15 +1145,19 @@
|
| EXPECT_TRUE(message.HasExtension(unittest::optional_string_extension ));
|
| EXPECT_TRUE(message.HasExtension(unittest::optional_bytes_extension ));
|
|
|
| - EXPECT_TRUE(message.HasExtension(unittest::optionalgroup_extension ));
|
| - EXPECT_TRUE(message.HasExtension(unittest::optional_nested_message_extension ));
|
| - EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_message_extension));
|
| - EXPECT_TRUE(message.HasExtension(unittest::optional_import_message_extension ));
|
| + EXPECT_TRUE(message.HasExtension(unittest::optionalgroup_extension ));
|
| + EXPECT_TRUE(message.HasExtension(unittest::optional_nested_message_extension ));
|
| + EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_message_extension ));
|
| + EXPECT_TRUE(message.HasExtension(unittest::optional_import_message_extension ));
|
| + EXPECT_TRUE(message.HasExtension(unittest::optional_public_import_message_extension));
|
| + EXPECT_TRUE(message.HasExtension(unittest::optional_lazy_message_extension ));
|
|
|
| - EXPECT_TRUE(message.GetExtension(unittest::optionalgroup_extension ).has_a());
|
| - EXPECT_TRUE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb());
|
| - EXPECT_TRUE(message.GetExtension(unittest::optional_foreign_message_extension).has_c());
|
| - EXPECT_TRUE(message.GetExtension(unittest::optional_import_message_extension ).has_d());
|
| + EXPECT_TRUE(message.GetExtension(unittest::optionalgroup_extension ).has_a());
|
| + EXPECT_TRUE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb());
|
| + EXPECT_TRUE(message.GetExtension(unittest::optional_foreign_message_extension ).has_c());
|
| + EXPECT_TRUE(message.GetExtension(unittest::optional_import_message_extension ).has_d());
|
| + EXPECT_TRUE(message.GetExtension(unittest::optional_public_import_message_extension).has_e());
|
| + EXPECT_TRUE(message.GetExtension(unittest::optional_lazy_message_extension ).has_bb());
|
|
|
| EXPECT_TRUE(message.HasExtension(unittest::optional_nested_enum_extension ));
|
| EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_enum_extension));
|
| @@ -1146,6 +1193,8 @@
|
|
|
| EXPECT_EQ("124", message.GetExtension(unittest::optional_string_piece_extension));
|
| EXPECT_EQ("125", message.GetExtension(unittest::optional_cord_extension));
|
| + EXPECT_EQ(126, message.GetExtension(unittest::optional_public_import_message_extension ).e());
|
| + EXPECT_EQ(127, message.GetExtension(unittest::optional_lazy_message_extension).bb());
|
|
|
| // -----------------------------------------------------------------
|
|
|
| @@ -1169,6 +1218,7 @@
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension ));
|
| + ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension ));
|
| @@ -1196,6 +1246,7 @@
|
| EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
|
| EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
|
| EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
|
| + EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension , 0).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
|
| @@ -1224,6 +1275,7 @@
|
| EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb());
|
| EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c());
|
| EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension , 1).d());
|
| + EXPECT_EQ(327, message.GetExtension(unittest::repeated_lazy_message_extension , 1).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::repeated_nested_enum_extension , 1));
|
| EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension, 1));
|
| @@ -1307,10 +1359,12 @@
|
| EXPECT_FALSE(message.HasExtension(unittest::optional_string_extension ));
|
| EXPECT_FALSE(message.HasExtension(unittest::optional_bytes_extension ));
|
|
|
| - EXPECT_FALSE(message.HasExtension(unittest::optionalgroup_extension ));
|
| - EXPECT_FALSE(message.HasExtension(unittest::optional_nested_message_extension ));
|
| - EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_message_extension));
|
| - EXPECT_FALSE(message.HasExtension(unittest::optional_import_message_extension ));
|
| + EXPECT_FALSE(message.HasExtension(unittest::optionalgroup_extension ));
|
| + EXPECT_FALSE(message.HasExtension(unittest::optional_nested_message_extension ));
|
| + EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_message_extension ));
|
| + EXPECT_FALSE(message.HasExtension(unittest::optional_import_message_extension ));
|
| + EXPECT_FALSE(message.HasExtension(unittest::optional_public_import_message_extension));
|
| + EXPECT_FALSE(message.HasExtension(unittest::optional_lazy_message_extension ));
|
|
|
| EXPECT_FALSE(message.HasExtension(unittest::optional_nested_enum_extension ));
|
| EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_enum_extension));
|
| @@ -1337,15 +1391,19 @@
|
| EXPECT_EQ("" , message.GetExtension(unittest::optional_bytes_extension ));
|
|
|
| // Embedded messages should also be clear.
|
| - EXPECT_FALSE(message.GetExtension(unittest::optionalgroup_extension ).has_a());
|
| - EXPECT_FALSE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb());
|
| - EXPECT_FALSE(message.GetExtension(unittest::optional_foreign_message_extension).has_c());
|
| - EXPECT_FALSE(message.GetExtension(unittest::optional_import_message_extension ).has_d());
|
| + EXPECT_FALSE(message.GetExtension(unittest::optionalgroup_extension ).has_a());
|
| + EXPECT_FALSE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb());
|
| + EXPECT_FALSE(message.GetExtension(unittest::optional_foreign_message_extension ).has_c());
|
| + EXPECT_FALSE(message.GetExtension(unittest::optional_import_message_extension ).has_d());
|
| + EXPECT_FALSE(message.GetExtension(unittest::optional_public_import_message_extension).has_e());
|
| + EXPECT_FALSE(message.GetExtension(unittest::optional_lazy_message_extension ).has_bb());
|
|
|
| - EXPECT_EQ(0, message.GetExtension(unittest::optionalgroup_extension ).a());
|
| - EXPECT_EQ(0, message.GetExtension(unittest::optional_nested_message_extension ).bb());
|
| - EXPECT_EQ(0, message.GetExtension(unittest::optional_foreign_message_extension).c());
|
| - EXPECT_EQ(0, message.GetExtension(unittest::optional_import_message_extension ).d());
|
| + EXPECT_EQ(0, message.GetExtension(unittest::optionalgroup_extension ).a());
|
| + EXPECT_EQ(0, message.GetExtension(unittest::optional_nested_message_extension ).bb());
|
| + EXPECT_EQ(0, message.GetExtension(unittest::optional_foreign_message_extension ).c());
|
| + EXPECT_EQ(0, message.GetExtension(unittest::optional_import_message_extension ).d());
|
| + EXPECT_EQ(0, message.GetExtension(unittest::optional_public_import_message_extension).e());
|
| + EXPECT_EQ(0, message.GetExtension(unittest::optional_lazy_message_extension ).bb());
|
|
|
| // Enums without defaults are set to the first value in the enum.
|
| EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::optional_nested_enum_extension ));
|
| @@ -1376,6 +1434,7 @@
|
| EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_message_extension ));
|
| EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_message_extension));
|
| EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_message_extension ));
|
| + EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_lazy_message_extension ));
|
| EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
|
| EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
|
| EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_enum_extension ));
|
| @@ -1459,6 +1518,7 @@
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension ));
|
| + ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension ));
|
| @@ -1486,6 +1546,7 @@
|
| EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
|
| EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
|
| EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
|
| + EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension , 0).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
|
| @@ -1515,6 +1576,7 @@
|
| EXPECT_EQ(518, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb());
|
| EXPECT_EQ(519, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c());
|
| EXPECT_EQ(520, message.GetExtension(unittest::repeated_import_message_extension , 1).d());
|
| + EXPECT_EQ(527, message.GetExtension(unittest::repeated_lazy_message_extension , 1).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::repeated_nested_enum_extension , 1));
|
| EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::repeated_foreign_enum_extension, 1));
|
| @@ -1750,6 +1812,7 @@
|
| ASSERT_EQ(1, message.repeated_nested_message_size ());
|
| ASSERT_EQ(1, message.repeated_foreign_message_size());
|
| ASSERT_EQ(1, message.repeated_import_message_size ());
|
| + ASSERT_EQ(1, message.repeated_import_message_size ());
|
| ASSERT_EQ(1, message.repeated_nested_enum_size ());
|
| ASSERT_EQ(1, message.repeated_foreign_enum_size ());
|
| ASSERT_EQ(1, message.repeated_import_enum_size ());
|
| @@ -1780,6 +1843,7 @@
|
| EXPECT_EQ(218, message.repeated_nested_message (0).bb());
|
| EXPECT_EQ(219, message.repeated_foreign_message(0).c());
|
| EXPECT_EQ(220, message.repeated_import_message (0).d());
|
| + EXPECT_EQ(220, message.repeated_import_message (0).d());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0));
|
| @@ -1810,6 +1874,7 @@
|
| ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_message_extension ));
|
| ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_message_extension));
|
| ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_message_extension ));
|
| + ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_lazy_message_extension ));
|
| ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
|
| ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
|
| ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_enum_extension ));
|
| @@ -1838,6 +1903,7 @@
|
| EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
|
| EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
|
| EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
|
| + EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension , 0).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
|
| @@ -1847,6 +1913,36 @@
|
| EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0));
|
| }
|
|
|
| +void TestUtil::ExpectLastRepeatedsReleased(
|
| + const unittest::TestAllTypes& message) {
|
| + ASSERT_EQ(1, message.repeatedgroup_size ());
|
| + ASSERT_EQ(1, message.repeated_nested_message_size ());
|
| + ASSERT_EQ(1, message.repeated_foreign_message_size());
|
| + ASSERT_EQ(1, message.repeated_import_message_size ());
|
| + ASSERT_EQ(1, message.repeated_import_message_size ());
|
| +
|
| + EXPECT_EQ(217, message.repeatedgroup (0).a());
|
| + EXPECT_EQ(218, message.repeated_nested_message (0).bb());
|
| + EXPECT_EQ(219, message.repeated_foreign_message(0).c());
|
| + EXPECT_EQ(220, message.repeated_import_message (0).d());
|
| + EXPECT_EQ(220, message.repeated_import_message (0).d());
|
| +}
|
| +
|
| +void TestUtil::ExpectLastRepeatedExtensionsReleased(
|
| + const unittest::TestAllExtensions& message) {
|
| + ASSERT_EQ(1, message.ExtensionSize(unittest::repeatedgroup_extension ));
|
| + ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_message_extension ));
|
| + ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_message_extension));
|
| + ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_message_extension ));
|
| + ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_lazy_message_extension ));
|
| +
|
| + EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a());
|
| + EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
|
| + EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
|
| + EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
|
| + EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension , 0).bb());
|
| +}
|
| +
|
| void TestUtil::ExpectRepeatedsSwapped(
|
| const unittest::TestAllTypes& message) {
|
| ASSERT_EQ(2, message.repeated_int32_size ());
|
| @@ -1869,6 +1965,7 @@
|
| ASSERT_EQ(2, message.repeated_nested_message_size ());
|
| ASSERT_EQ(2, message.repeated_foreign_message_size());
|
| ASSERT_EQ(2, message.repeated_import_message_size ());
|
| + ASSERT_EQ(2, message.repeated_import_message_size ());
|
| ASSERT_EQ(2, message.repeated_nested_enum_size ());
|
| ASSERT_EQ(2, message.repeated_foreign_enum_size ());
|
| ASSERT_EQ(2, message.repeated_import_enum_size ());
|
| @@ -1899,6 +1996,7 @@
|
| EXPECT_EQ(218, message.repeated_nested_message (1).bb());
|
| EXPECT_EQ(219, message.repeated_foreign_message(1).c());
|
| EXPECT_EQ(220, message.repeated_import_message (1).d());
|
| + EXPECT_EQ(220, message.repeated_import_message (1).d());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (1));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(1));
|
| @@ -1924,6 +2022,7 @@
|
| EXPECT_EQ(318, message.repeated_nested_message (0).bb());
|
| EXPECT_EQ(319, message.repeated_foreign_message(0).c());
|
| EXPECT_EQ(320, message.repeated_import_message (0).d());
|
| + EXPECT_EQ(320, message.repeated_import_message (0).d());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAZ, message.repeated_nested_enum (0));
|
| EXPECT_EQ(unittest::FOREIGN_BAZ , message.repeated_foreign_enum(0));
|
| @@ -1953,6 +2052,7 @@
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension ));
|
| + ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
|
| ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension ));
|
| @@ -1980,6 +2080,7 @@
|
| EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb());
|
| EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c());
|
| EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 1).d());
|
| + EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension , 1).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 1));
|
| EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 1));
|
| @@ -2008,6 +2109,7 @@
|
| EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
|
| EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
|
| EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
|
| + EXPECT_EQ(327, message.GetExtension(unittest::repeated_lazy_message_extension , 0).bb());
|
|
|
| EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
|
| EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
|
| @@ -2031,6 +2133,8 @@
|
| pool->FindFieldByName("protobuf_unittest.ForeignMessage.c");
|
| import_d_ =
|
| pool->FindFieldByName("protobuf_unittest_import.ImportMessage.d");
|
| + import_e_ =
|
| + pool->FindFieldByName("protobuf_unittest_import.PublicImportMessage.e");
|
| nested_foo_ =
|
| pool->FindEnumValueByName("protobuf_unittest.TestAllTypes.FOO");
|
| nested_bar_ =
|
| @@ -2067,6 +2171,7 @@
|
| EXPECT_TRUE(nested_b_ != NULL);
|
| EXPECT_TRUE(foreign_c_ != NULL);
|
| EXPECT_TRUE(import_d_ != NULL);
|
| + EXPECT_TRUE(import_e_ != NULL);
|
| EXPECT_TRUE(nested_foo_ != NULL);
|
| EXPECT_TRUE(nested_bar_ != NULL);
|
| EXPECT_TRUE(nested_baz_ != NULL);
|
| @@ -2129,6 +2234,12 @@
|
| reflection->SetString(message, F("optional_string_piece"), "124");
|
| reflection->SetString(message, F("optional_cord"), "125");
|
|
|
| + sub_message = reflection->MutableMessage(message, F("optional_public_import_message"));
|
| + sub_message->GetReflection()->SetInt32(sub_message, import_e_, 126);
|
| +
|
| + sub_message = reflection->MutableMessage(message, F("optional_lazy_message"));
|
| + sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 127);
|
| +
|
| // -----------------------------------------------------------------
|
|
|
| reflection->AddInt32 (message, F("repeated_int32" ), 201);
|
| @@ -2155,6 +2266,8 @@
|
| sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 219);
|
| sub_message = reflection->AddMessage(message, F("repeated_import_message"));
|
| sub_message->GetReflection()->SetInt32(sub_message, import_d_, 220);
|
| + sub_message = reflection->AddMessage(message, F("repeated_lazy_message"));
|
| + sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 227);
|
|
|
| reflection->AddEnum(message, F("repeated_nested_enum" ), nested_bar_);
|
| reflection->AddEnum(message, F("repeated_foreign_enum"), foreign_bar_);
|
| @@ -2188,6 +2301,8 @@
|
| sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 319);
|
| sub_message = reflection->AddMessage(message, F("repeated_import_message"));
|
| sub_message->GetReflection()->SetInt32(sub_message, import_d_, 320);
|
| + sub_message = reflection->AddMessage(message, F("repeated_lazy_message"));
|
| + sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 327);
|
|
|
| reflection->AddEnum(message, F("repeated_nested_enum" ), nested_baz_);
|
| reflection->AddEnum(message, F("repeated_foreign_enum"), foreign_baz_);
|
| @@ -2289,10 +2404,12 @@
|
| EXPECT_TRUE(reflection->HasField(message, F("optional_string" )));
|
| EXPECT_TRUE(reflection->HasField(message, F("optional_bytes" )));
|
|
|
| - EXPECT_TRUE(reflection->HasField(message, F("optionalgroup" )));
|
| - EXPECT_TRUE(reflection->HasField(message, F("optional_nested_message" )));
|
| - EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_message")));
|
| - EXPECT_TRUE(reflection->HasField(message, F("optional_import_message" )));
|
| + EXPECT_TRUE(reflection->HasField(message, F("optionalgroup" )));
|
| + EXPECT_TRUE(reflection->HasField(message, F("optional_nested_message" )));
|
| + EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_message" )));
|
| + EXPECT_TRUE(reflection->HasField(message, F("optional_import_message" )));
|
| + EXPECT_TRUE(reflection->HasField(message, F("optional_public_import_message")));
|
| + EXPECT_TRUE(reflection->HasField(message, F("optional_lazy_message" )));
|
|
|
| sub_message = &reflection->GetMessage(message, F("optionalgroup"));
|
| EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, group_a_));
|
| @@ -2302,6 +2419,10 @@
|
| EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, foreign_c_));
|
| sub_message = &reflection->GetMessage(message, F("optional_import_message"));
|
| EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, import_d_));
|
| + sub_message = &reflection->GetMessage(message, F("optional_public_import_message"));
|
| + EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, import_e_));
|
| + sub_message = &reflection->GetMessage(message, F("optional_lazy_message"));
|
| + EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, nested_b_));
|
|
|
| EXPECT_TRUE(reflection->HasField(message, F("optional_nested_enum" )));
|
| EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_enum")));
|
| @@ -2337,6 +2458,10 @@
|
| EXPECT_EQ(119, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_));
|
| sub_message = &reflection->GetMessage(message, F("optional_import_message"));
|
| EXPECT_EQ(120, sub_message->GetReflection()->GetInt32(*sub_message, import_d_));
|
| + sub_message = &reflection->GetMessage(message, F("optional_public_import_message"));
|
| + EXPECT_EQ(126, sub_message->GetReflection()->GetInt32(*sub_message, import_e_));
|
| + sub_message = &reflection->GetMessage(message, F("optional_lazy_message"));
|
| + EXPECT_EQ(127, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_));
|
|
|
| EXPECT_EQ( nested_baz_, reflection->GetEnum(message, F("optional_nested_enum" )));
|
| EXPECT_EQ(foreign_baz_, reflection->GetEnum(message, F("optional_foreign_enum")));
|
| @@ -2347,6 +2472,7 @@
|
|
|
| EXPECT_EQ("125", reflection->GetString(message, F("optional_cord")));
|
| EXPECT_EQ("125", reflection->GetStringReference(message, F("optional_cord"), &scratch));
|
| +
|
| }
|
|
|
| void TestUtil::ReflectionTester::ExpectAllFieldsSetViaReflection2(
|
| @@ -2377,6 +2503,7 @@
|
| ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_nested_message" )));
|
| ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_foreign_message")));
|
| ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_import_message" )));
|
| + ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_lazy_message" )));
|
| ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_nested_enum" )));
|
| ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_foreign_enum" )));
|
| ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_import_enum" )));
|
| @@ -2411,6 +2538,8 @@
|
| EXPECT_EQ(219, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_));
|
| sub_message = &reflection->GetRepeatedMessage(message, F("repeated_import_message"), 0);
|
| EXPECT_EQ(220, sub_message->GetReflection()->GetInt32(*sub_message, import_d_));
|
| + sub_message = &reflection->GetRepeatedMessage(message, F("repeated_lazy_message"), 0);
|
| + EXPECT_EQ(227, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_));
|
|
|
| EXPECT_EQ( nested_bar_, reflection->GetRepeatedEnum(message, F("repeated_nested_enum" ),0));
|
| EXPECT_EQ(foreign_bar_, reflection->GetRepeatedEnum(message, F("repeated_foreign_enum"),0));
|
| @@ -2453,6 +2582,8 @@
|
| EXPECT_EQ(319, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_));
|
| sub_message = &reflection->GetRepeatedMessage(message, F("repeated_import_message"), 1);
|
| EXPECT_EQ(320, sub_message->GetReflection()->GetInt32(*sub_message, import_d_));
|
| + sub_message = &reflection->GetRepeatedMessage(message, F("repeated_lazy_message"), 1);
|
| + EXPECT_EQ(327, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_));
|
|
|
| EXPECT_EQ( nested_baz_, reflection->GetRepeatedEnum(message, F("repeated_nested_enum" ),1));
|
| EXPECT_EQ(foreign_baz_, reflection->GetRepeatedEnum(message, F("repeated_foreign_enum"),1));
|
| @@ -2609,6 +2740,8 @@
|
| EXPECT_FALSE(reflection->HasField(message, F("optional_nested_message" )));
|
| EXPECT_FALSE(reflection->HasField(message, F("optional_foreign_message")));
|
| EXPECT_FALSE(reflection->HasField(message, F("optional_import_message" )));
|
| + EXPECT_FALSE(reflection->HasField(message, F("optional_public_import_message")));
|
| + EXPECT_FALSE(reflection->HasField(message, F("optional_lazy_message")));
|
|
|
| EXPECT_FALSE(reflection->HasField(message, F("optional_nested_enum" )));
|
| EXPECT_FALSE(reflection->HasField(message, F("optional_foreign_enum")));
|
| @@ -2650,6 +2783,12 @@
|
| sub_message = &reflection->GetMessage(message, F("optional_import_message"));
|
| EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, import_d_));
|
| EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, import_d_));
|
| + sub_message = &reflection->GetMessage(message, F("optional_public_import_message"));
|
| + EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, import_e_));
|
| + EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, import_e_));
|
| + sub_message = &reflection->GetMessage(message, F("optional_lazy_message"));
|
| + EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, nested_b_));
|
| + EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_));
|
|
|
| // Enums without defaults are set to the first value in the enum.
|
| EXPECT_EQ( nested_foo_, reflection->GetEnum(message, F("optional_nested_enum" )));
|
| @@ -2683,6 +2822,7 @@
|
| EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_nested_message" )));
|
| EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_foreign_message")));
|
| EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_import_message" )));
|
| + EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_lazy_message" )));
|
| EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_nested_enum" )));
|
| EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_foreign_enum" )));
|
| EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_import_enum" )));
|
| @@ -2796,6 +2936,8 @@
|
| sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 519);
|
| sub_message = reflection->MutableRepeatedMessage(message, F("repeated_import_message"), 1);
|
| sub_message->GetReflection()->SetInt32(sub_message, import_d_, 520);
|
| + sub_message = reflection->MutableRepeatedMessage(message, F("repeated_lazy_message"), 1);
|
| + sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 527);
|
|
|
| reflection->SetRepeatedEnum(message, F("repeated_nested_enum" ), 1, nested_foo_);
|
| reflection->SetRepeatedEnum(message, F("repeated_foreign_enum"), 1, foreign_foo_);
|
| @@ -2824,7 +2966,8 @@
|
| reflection->SetRepeatedEnum (message, F("packed_enum" ), 1, foreign_foo_);
|
| }
|
|
|
| -void TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(Message* message) {
|
| +void TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(
|
| + Message* message) {
|
| const Reflection* reflection = message->GetReflection();
|
|
|
| vector<const FieldDescriptor*> output;
|
| @@ -2837,6 +2980,26 @@
|
| }
|
| }
|
|
|
| +void TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(
|
| + Message* message, bool expect_extensions_notnull) {
|
| + const Reflection* reflection = message->GetReflection();
|
| +
|
| + vector<const FieldDescriptor*> output;
|
| + reflection->ListFields(*message, &output);
|
| + for (int i=0; i<output.size(); ++i) {
|
| + const FieldDescriptor* field = output[i];
|
| + if (!field->is_repeated()) continue;
|
| + if (field->cpp_type() != FieldDescriptor::CPPTYPE_MESSAGE) continue;
|
| +
|
| + Message* released = reflection->ReleaseLast(message, field);
|
| + if (!field->is_extension() || expect_extensions_notnull) {
|
| + ASSERT_TRUE(released != NULL) << "ReleaseLast returned NULL for: "
|
| + << field->name();
|
| + }
|
| + delete released;
|
| + }
|
| +}
|
| +
|
| void TestUtil::ReflectionTester::SwapRepeatedsViaReflection(Message* message) {
|
| const Reflection* reflection = message->GetReflection();
|
|
|
| @@ -2850,5 +3013,35 @@
|
| }
|
| }
|
|
|
| +void TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(
|
| + Message* message,
|
| + TestUtil::ReflectionTester::MessageReleaseState expected_release_state) {
|
| + const Reflection* reflection = message->GetReflection();
|
| +
|
| + static const char* fields[] = {
|
| + "optionalgroup",
|
| + "optional_nested_message",
|
| + "optional_foreign_message",
|
| + "optional_import_message",
|
| + };
|
| + for (int i = 0; i < GOOGLE_ARRAYSIZE(fields); i++) {
|
| + const Message& sub_message = reflection->GetMessage(*message, F(fields[i]));
|
| + Message* released = reflection->ReleaseMessage(message, F(fields[i]));
|
| + switch (expected_release_state) {
|
| + case IS_NULL:
|
| + EXPECT_TRUE(released == NULL);
|
| + break;
|
| + case NOT_NULL:
|
| + EXPECT_TRUE(released != NULL);
|
| + EXPECT_EQ(&sub_message, released);
|
| + break;
|
| + case CAN_BE_NULL:
|
| + break;
|
| + }
|
| + delete released;
|
| + EXPECT_FALSE(reflection->HasField(*message, F(fields[i])));
|
| + }
|
| +}
|
| +
|
| } // namespace protobuf
|
| } // namespace google
|
|
|