summaryrefslogtreecommitdiff
path: root/cpp/test/buffer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/buffer.cc')
-rw-r--r--cpp/test/buffer.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/test/buffer.cc b/cpp/test/buffer.cc
index a2e9037..aff0699 100644
--- a/cpp/test/buffer.cc
+++ b/cpp/test/buffer.cc
@@ -12,6 +12,14 @@ TEST(buffer, sbuffer)
EXPECT_EQ(3, sbuf.size());
EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
+
+ sbuf.clear();
+ sbuf.write("a", 1);
+ sbuf.write("a", 1);
+ sbuf.write("a", 1);
+
+ EXPECT_EQ(3, sbuf.size());
+ EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
}
@@ -32,6 +40,23 @@ TEST(buffer, vrefbuffer)
EXPECT_EQ(3, sbuf.size());
EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
+
+
+ vbuf.clear();
+ vbuf.write("a", 1);
+ vbuf.write("a", 1);
+ vbuf.write("a", 1);
+
+ vec = vbuf.vector();
+ veclen = vbuf.vector_size();
+
+ sbuf.clear();
+ for(size_t i=0; i < veclen; ++i) {
+ sbuf.write((const char*)vec[i].iov_base, vec[i].iov_len);
+ }
+
+ EXPECT_EQ(3, sbuf.size());
+ EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
}