diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-25 18:08:14 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-25 18:08:14 +0900 |
| commit | 9fbca83ac0ba0017d22cd84b696cff3baa1cde23 (patch) | |
| tree | 154feafc1ade3636b1394348ff9df82f1281f280 /cpp/test/buffer.cc | |
| parent | d19bfaa2cb16eaabee79922f7d8b59ef9bccb592 (diff) | |
| download | msgpack-python-9fbca83ac0ba0017d22cd84b696cff3baa1cde23.tar.gz | |
cpp: add test/{zone,pack_unpack,streaming,object,convert,buffer}.cc
Diffstat (limited to 'cpp/test/buffer.cc')
| -rw-r--r-- | cpp/test/buffer.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/cpp/test/buffer.cc b/cpp/test/buffer.cc new file mode 100644 index 0000000..a2e9037 --- /dev/null +++ b/cpp/test/buffer.cc @@ -0,0 +1,50 @@ +#include <msgpack.hpp> +#include <msgpack/zbuffer.hpp> +#include <gtest/gtest.h> +#include <string.h> + +TEST(buffer, sbuffer) +{ + msgpack::sbuffer sbuf; + 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 ); +} + + +TEST(buffer, vrefbuffer) +{ + msgpack::vrefbuffer vbuf; + vbuf.write("a", 1); + vbuf.write("a", 1); + vbuf.write("a", 1); + + const struct iovec* vec = vbuf.vector(); + size_t veclen = vbuf.vector_size(); + + msgpack::sbuffer sbuf; + 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 ); +} + + +TEST(buffer, zbuffer) +{ + msgpack::zbuffer zbuf; + zbuf.write("a", 1); + zbuf.write("a", 1); + zbuf.write("a", 1); + + zbuf.flush(); + + char* data = zbuf.data(); + size_t size = zbuf.size(); +} + |
