Separated unpacked from object_handle to preserve the original ABI.

This commit is contained in:
Takatoshi Kondo
2015-05-26 09:27:35 +09:00
parent 9cb2c91d58
commit f75da23e1d
4 changed files with 108 additions and 33 deletions

View File

@@ -352,9 +352,6 @@ TEST(object, clone_int)
h = msgpack::clone(obj);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
h = msgpack::move(h);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
}
TEST(object, clone_str)
@@ -369,9 +366,6 @@ TEST(object, clone_str)
h = msgpack::clone(obj);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
h = msgpack::move(h);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
}
TEST(object, clone_bin)
@@ -389,9 +383,6 @@ TEST(object, clone_bin)
h = msgpack::clone(obj);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
h = msgpack::move(h);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
}
TEST(object, clone_array)
@@ -409,9 +400,6 @@ TEST(object, clone_array)
h = msgpack::clone(obj);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
h = msgpack::move(h);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
}
TEST(object, clone_map)
@@ -429,7 +417,4 @@ TEST(object, clone_map)
h = msgpack::clone(obj);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
h = msgpack::move(h);
EXPECT_EQ(h.get(), obj);
EXPECT_EQ(sz1, msgpack::aligned_zone_size(h.get()));
}

View File

@@ -50,8 +50,6 @@ TEST(pack, myclass)
}
#if !defined(MSGPACK_USE_CPP03)
TEST(unpack, int_ret_no_offset_no_ref)
{
msgpack::sbuffer sbuf;
@@ -97,8 +95,6 @@ TEST(unpack, int_ret_offset_ref)
EXPECT_EQ(off, sbuf.size());
}
#endif // !defined(MSGPACK_USE_CPP03)
TEST(unpack, int_no_offset_no_ref)
{
@@ -290,3 +286,37 @@ TEST(unpack, sequence)
EXPECT_EQ(off, sbuf.size());
}
TEST(unpack, convert_to_object_handle)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
msgpack::unpacked msg;
msgpack::unpack(msg, sbuf.data(), sbuf.size());
msgpack::object_handle oh(msgpack::move(msg));
EXPECT_EQ(1, oh.get().as<int>());
}
TEST(unpack, convert_to_object_handle_direct)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
msgpack::object_handle oh(msgpack::unpack(sbuf.data(), sbuf.size()));
EXPECT_EQ(1, oh.get().as<int>());
}
#if !defined(MSGPACK_USE_CPP03)
TEST(unpack, convert_to_object_handle_direct_implicit)
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, 1);
msgpack::object_handle oh = msgpack::unpack(sbuf.data(), sbuf.size());
EXPECT_EQ(1, oh.get().as<int>());
}
#endif // !defined(MSGPACK_USE_CPP03)