mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-30 20:14:14 +01:00
73 lines
1.3 KiB
C++
73 lines
1.3 KiB
C++
|
#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 );
|
||
|
|
||
|
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 );
|
||
|
}
|
||
|
|
||
|
|
||
|
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 );
|
||
|
|
||
|
|
||
|
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 );
|
||
|
}
|
||
|
|
||
|
|
||
|
TEST(buffer, zbuffer)
|
||
|
{
|
||
|
msgpack::zbuffer zbuf;
|
||
|
zbuf.write("a", 1);
|
||
|
zbuf.write("a", 1);
|
||
|
zbuf.write("a", 1);
|
||
|
|
||
|
zbuf.flush();
|
||
|
}
|
||
|
|