Add serialization test of non-const char*

This commit is contained in:
Nobuyuki Kubota
2015-03-10 15:42:44 +09:00
parent 023f81ae9c
commit 6443738f66

View File

@@ -497,3 +497,23 @@ TEST(MSGPACK_STL, simple_buffer_cstring)
EXPECT_EQ(val1, val2);
}
}
TEST(MSGPACK_STL, simple_buffer_non_const_cstring)
{
for (unsigned int k = 0; k < kLoop; k++) {
string val1;
for (unsigned int i = 0; i < kElements; i++)
val1 += 'a' + rand() % 26;
msgpack::sbuffer sbuf;
char* s = new char[val1.size() + 1];
std::strcpy(s, val1.c_str());
msgpack::pack(sbuf, s);
delete [] s;
msgpack::unpacked ret;
msgpack::unpack(ret, sbuf.data(), sbuf.size());
EXPECT_EQ(ret.get().type, msgpack::type::STR);
string val2 = ret.get().as<string>();
EXPECT_EQ(val1.size(), val2.size());
EXPECT_EQ(val1, val2);
}
}