Index: third_party/protobuf/src/google/protobuf/repeated_field_unittest.cc |
diff --git a/third_party/protobuf/src/google/protobuf/repeated_field_unittest.cc b/third_party/protobuf/src/google/protobuf/repeated_field_unittest.cc |
index b45664b0bcd1d431c7cb4a1aa1537844d77e5b83..39b24b3375ee35ef0ee5e823322f2ae0a8a498b4 100644 |
--- a/third_party/protobuf/src/google/protobuf/repeated_field_unittest.cc |
+++ b/third_party/protobuf/src/google/protobuf/repeated_field_unittest.cc |
@@ -1522,6 +1522,44 @@ TEST_F(RepeatedFieldInsertionIteratorsTest, |
EXPECT_EQ(testproto.DebugString(), goldenproto.DebugString()); |
} |
+TEST_F(RepeatedFieldInsertionIteratorsTest, |
+ UnsafeArenaAllocatedRepeatedPtrFieldWithStringIntData) { |
+ vector<Nested*> data; |
+ TestAllTypes goldenproto; |
+ for (int i = 0; i < 10; ++i) { |
+ Nested* new_data = new Nested; |
+ new_data->set_bb(i); |
+ data.push_back(new_data); |
+ |
+ new_data = goldenproto.add_repeated_nested_message(); |
+ new_data->set_bb(i); |
+ } |
+ TestAllTypes testproto; |
+ std::copy(data.begin(), data.end(), |
+ UnsafeArenaAllocatedRepeatedPtrFieldBackInserter( |
+ testproto.mutable_repeated_nested_message())); |
+ EXPECT_EQ(testproto.DebugString(), goldenproto.DebugString()); |
+} |
+ |
+TEST_F(RepeatedFieldInsertionIteratorsTest, |
+ UnsafeArenaAllocatedRepeatedPtrFieldWithString) { |
+ vector<string*> data; |
+ TestAllTypes goldenproto; |
+ for (int i = 0; i < 10; ++i) { |
+ string* new_data = new string; |
+ *new_data = "name-" + SimpleItoa(i); |
+ data.push_back(new_data); |
+ |
+ new_data = goldenproto.add_repeated_string(); |
+ *new_data = "name-" + SimpleItoa(i); |
+ } |
+ TestAllTypes testproto; |
+ std::copy(data.begin(), data.end(), |
+ UnsafeArenaAllocatedRepeatedPtrFieldBackInserter( |
+ testproto.mutable_repeated_string())); |
+ EXPECT_EQ(testproto.DebugString(), goldenproto.DebugString()); |
+} |
+ |
} // namespace |
} // namespace protobuf |