From d6e84b3ed8ed5e0a3e16959abe23a876de13c314 Mon Sep 17 00:00:00 2001 From: "kenton@google.com" Date: Tue, 22 Dec 2009 19:43:41 +0000 Subject: When serializing to an ostream, verify that there were no stream-level errors before returning success. --- src/google/protobuf/message_unittest.cc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/google/protobuf/message_unittest.cc') diff --git a/src/google/protobuf/message_unittest.cc b/src/google/protobuf/message_unittest.cc index 46e68446..33b9e77c 100644 --- a/src/google/protobuf/message_unittest.cc +++ b/src/google/protobuf/message_unittest.cc @@ -43,6 +43,7 @@ #include #endif #include +#include #include #include @@ -77,9 +78,9 @@ TEST(MessageTest, SerializeHelpers) { string str1("foo"); string str2("bar"); - message.SerializeToString(&str1); - message.AppendToString(&str2); - message.SerializeToOstream(&stream); + EXPECT_TRUE(message.SerializeToString(&str1)); + EXPECT_TRUE(message.AppendToString(&str2)); + EXPECT_TRUE(message.SerializeToOstream(&stream)); EXPECT_EQ(str1.size() + 3, str2.size()); EXPECT_EQ("bar", str2.substr(0, 3)); @@ -95,6 +96,14 @@ TEST(MessageTest, SerializeHelpers) { } +TEST(MessageTest, SerializeToBrokenOstream) { + ofstream out; + protobuf_unittest::TestAllTypes message; + message.set_optional_int32(123); + + EXPECT_FALSE(message.SerializeToOstream(&out)); +} + TEST(MessageTest, ParseFromFileDescriptor) { string filename = TestSourceDir() + "/google/protobuf/testdata/golden_message"; -- cgit v1.2.3