From d36c0c538a545fac5d9db6ba65c525246d4efa95 Mon Sep 17 00:00:00 2001 From: Feng Xiao Date: Wed, 29 Mar 2017 14:32:48 -0700 Subject: Down-integrate from google3. --- src/google/protobuf/map_field_test.cc | 51 +++++++++++++++-------------------- 1 file changed, 21 insertions(+), 30 deletions(-) (limited to 'src/google/protobuf/map_field_test.cc') diff --git a/src/google/protobuf/map_field_test.cc b/src/google/protobuf/map_field_test.cc index dd5061c4..8617a366 100644 --- a/src/google/protobuf/map_field_test.cc +++ b/src/google/protobuf/map_field_test.cc @@ -101,8 +101,10 @@ class MapFieldBaseStub : public MapFieldBase { class MapFieldBasePrimitiveTest : public ::testing::Test { protected: - typedef MapField MapFieldType; + typedef unittest::TestMap::TestMap_MapInt32Int32Entry EntryType; + typedef MapField + MapFieldType; MapFieldBasePrimitiveTest() { // Get descriptors @@ -113,9 +115,7 @@ class MapFieldBasePrimitiveTest : public ::testing::Test { value_descriptor_ = map_descriptor_->FindFieldByName("value"); // Build map field - default_entry_ = - MessageFactory::generated_factory()->GetPrototype(map_descriptor_); - map_field_.reset(new MapFieldType(default_entry_)); + map_field_.reset(new MapFieldType); map_field_base_ = map_field_.get(); map_ = map_field_->MutableMap(); initial_value_map_[0] = 100; @@ -130,7 +130,6 @@ class MapFieldBasePrimitiveTest : public ::testing::Test { const Descriptor* map_descriptor_; const FieldDescriptor* key_descriptor_; const FieldDescriptor* value_descriptor_; - const Message* default_entry_; std::map initial_value_map_; // copy of initial values inserted }; @@ -177,8 +176,7 @@ TEST_F(MapFieldBasePrimitiveTest, Arena) { // repeated fields are allocated from arenas. // NoHeapChecker no_heap; - MapFieldType* map_field = - Arena::CreateMessage(&arena, default_entry_); + MapFieldType* map_field = Arena::CreateMessage(&arena); // Set content in map (*map_field->MutableMap())[100] = 101; @@ -208,19 +206,13 @@ class MapFieldStateTest : public testing::TestWithParam { public: protected: - typedef MapField MapFieldType; - typedef MapFieldLite MapFieldLiteType; + typedef unittest::TestMap::TestMap_MapInt32Int32Entry EntryType; + typedef MapField + MapFieldType; MapFieldStateTest() : state_(GetParam()) { // Build map field - const Descriptor* map_descriptor = - unittest::TestMap::descriptor() - ->FindFieldByName("map_int32_int32") - ->message_type(); - default_entry_ = - MessageFactory::generated_factory()->GetPrototype(map_descriptor); - map_field_.reset(new MapFieldType(default_entry_)); + map_field_.reset(new MapFieldType()); map_field_base_ = map_field_.get(); Expect(map_field_.get(), MAP_DIRTY, 0, 0, true); @@ -257,8 +249,8 @@ class MapFieldStateTest MakeMapDirty(map_field); MapFieldBase* map_field_base = map_field; map_field_base->MutableRepeatedField(); - Map* map = implicit_cast(map_field) - ->MapFieldLiteType::MutableMap(); + // We use MutableMap on impl_ because we don't want to disturb the syncing + Map* map = map_field->impl_.MutableMap(); map->clear(); Expect(map_field, REPEATED_DIRTY, 0, 1, false); @@ -270,8 +262,8 @@ class MapFieldStateTest MapFieldBaseStub* stub = reinterpret_cast(map_field_base); - Map* map = implicit_cast(map_field) - ->MapFieldLiteType::MutableMap(); + // We use MutableMap on impl_ because we don't want to disturb the syncing + Map* map = map_field->impl_.MutableMap(); RepeatedPtrField* repeated_field = stub->InternalRepeatedField(); switch (state) { @@ -302,7 +294,6 @@ class MapFieldStateTest google::protobuf::scoped_ptr map_field_; MapFieldBase* map_field_base_; State state_; - const Message* default_entry_; }; INSTANTIATE_TEST_CASE_P(MapFieldStateTestInstance, MapFieldStateTest, @@ -327,7 +318,7 @@ TEST_P(MapFieldStateTest, MutableMap) { } TEST_P(MapFieldStateTest, MergeFromClean) { - MapFieldType other(default_entry_); + MapFieldType other; AddOneStillClean(&other); map_field_->MergeFrom(other); @@ -342,7 +333,7 @@ TEST_P(MapFieldStateTest, MergeFromClean) { } TEST_P(MapFieldStateTest, MergeFromMapDirty) { - MapFieldType other(default_entry_); + MapFieldType other; MakeMapDirty(&other); map_field_->MergeFrom(other); @@ -357,7 +348,7 @@ TEST_P(MapFieldStateTest, MergeFromMapDirty) { } TEST_P(MapFieldStateTest, MergeFromRepeatedDirty) { - MapFieldType other(default_entry_); + MapFieldType other; MakeRepeatedDirty(&other); map_field_->MergeFrom(other); @@ -372,7 +363,7 @@ TEST_P(MapFieldStateTest, MergeFromRepeatedDirty) { } TEST_P(MapFieldStateTest, SwapClean) { - MapFieldType other(default_entry_); + MapFieldType other; AddOneStillClean(&other); map_field_->Swap(&other); @@ -395,7 +386,7 @@ TEST_P(MapFieldStateTest, SwapClean) { } TEST_P(MapFieldStateTest, SwapMapDirty) { - MapFieldType other(default_entry_); + MapFieldType other; MakeMapDirty(&other); map_field_->Swap(&other); @@ -418,7 +409,7 @@ TEST_P(MapFieldStateTest, SwapMapDirty) { } TEST_P(MapFieldStateTest, SwapRepeatedDirty) { - MapFieldType other(default_entry_); + MapFieldType other; MakeRepeatedDirty(&other); map_field_->Swap(&other); -- cgit v1.2.3