aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/message_unittest.cc
diff options
context:
space:
mode:
authorGravatar kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2009-12-22 19:43:41 +0000
committerGravatar kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2009-12-22 19:43:41 +0000
commitd6e84b3ed8ed5e0a3e16959abe23a876de13c314 (patch)
treeca82c27159a486de45569adb066353009b12f15e /src/google/protobuf/message_unittest.cc
parent28e46df3e9ae576bbde956927eba6332acf90cdf (diff)
When serializing to an ostream, verify that there were no stream-level errors before returning success.
Diffstat (limited to 'src/google/protobuf/message_unittest.cc')
-rw-r--r--src/google/protobuf/message_unittest.cc15
1 files changed, 12 insertions, 3 deletions
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 <unistd.h>
#endif
#include <sstream>
+#include <fstream>
#include <google/protobuf/stubs/common.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
@@ -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";