Added unpack function using existing zone.

Removed redundant inline keyword form declarations.
This commit is contained in:
Takatoshi Kondo
2015-01-30 22:57:27 +09:00
parent 978e6b9057
commit 70e50d9679
2 changed files with 149 additions and 25 deletions

View File

@@ -218,6 +218,56 @@ TEST(unpack, int_default_null_pointer)
EXPECT_EQ(1, msg.get().as<int>());
}
TEST(unpack, int_zone_no_offset_no_ref)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
msgpack::zone z;
msgpack::object obj = msgpack::unpack(z, sbuf.data(), sbuf.size());
EXPECT_EQ(1, obj.as<int>());
}
TEST(unpack, int_zone_offset_no_ref)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
std::size_t off = 0;
msgpack::zone z;
msgpack::object obj = msgpack::unpack(z, sbuf.data(), sbuf.size(), off);
EXPECT_EQ(1, obj.as<int>());
EXPECT_EQ(off, sbuf.size());
}
TEST(unpack, int_zone_no_offset_ref)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
bool referenced;
msgpack::zone z;
msgpack::object obj = msgpack::unpack(z, sbuf.data(), sbuf.size(), referenced);
EXPECT_EQ(1, obj.as<int>());
EXPECT_EQ(false, referenced);
}
TEST(unpack, int_zone_offset_ref)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
std::size_t off = 0;
bool referenced;
msgpack::zone z;
msgpack::object obj = msgpack::unpack(z, sbuf.data(), sbuf.size(), off, referenced);
EXPECT_EQ(1, obj.as<int>());
EXPECT_EQ(false, referenced);
EXPECT_EQ(off, sbuf.size());
}
TEST(unpack, sequence)
{
msgpack::sbuffer sbuf;