| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Adapted from the patch of kenton@google.com (Kenton Varda)
- // See https://github.com/google/protobuf/pull/710 for details.
- #include <google/protobuf/util/delimited_message_util.h>
- #include <sstream>
- #include <google/protobuf/test_util.h>
- #include <google/protobuf/unittest.pb.h>
- #include <google/protobuf/testing/googletest.h>
- #include <gtest/gtest.h>
- namespace google {
- namespace protobuf {
- namespace util {
- TEST(DelimitedMessageUtilTest, DelimitedMessages) {
- std::stringstream stream;
- {
- protobuf_unittest::TestAllTypes message1;
- TestUtil::SetAllFields(&message1);
- EXPECT_TRUE(SerializeDelimitedToOstream(message1, &stream));
- protobuf_unittest::TestPackedTypes message2;
- TestUtil::SetPackedFields(&message2);
- EXPECT_TRUE(SerializeDelimitedToOstream(message2, &stream));
- }
- {
- bool clean_eof;
- io::IstreamInputStream zstream(&stream);
- protobuf_unittest::TestAllTypes message1;
- clean_eof = true;
- EXPECT_TRUE(ParseDelimitedFromZeroCopyStream(&message1,
- &zstream, &clean_eof));
- EXPECT_FALSE(clean_eof);
- TestUtil::ExpectAllFieldsSet(message1);
- protobuf_unittest::TestPackedTypes message2;
- clean_eof = true;
- EXPECT_TRUE(ParseDelimitedFromZeroCopyStream(&message2,
- &zstream, &clean_eof));
- EXPECT_FALSE(clean_eof);
- TestUtil::ExpectPackedFieldsSet(message2);
- clean_eof = false;
- EXPECT_FALSE(ParseDelimitedFromZeroCopyStream(&message2,
- &zstream, &clean_eof));
- EXPECT_TRUE(clean_eof);
- }
- }
- } // namespace util
- } // namespace protobuf
- } // namespace google
|