@@ -331,6 +331,16 @@ TEST(MSGPACK, simple_buffer_fixext1)
331331 EXPECT_EQ (1ul , oh.get ().via .ext .size );
332332 EXPECT_EQ (1 , oh.get ().via .ext .type ());
333333 EXPECT_EQ (2 , oh.get ().via .ext .data ()[0 ]);
334+
335+ msgpack::sbuffer sbuf2;
336+ msgpack::pack (sbuf2, oh.get ());
337+ msgpack::object_handle oh2 =
338+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
339+ EXPECT_EQ (1ul , oh2.get ().via .ext .size );
340+ EXPECT_EQ (1 , oh2.get ().via .ext .type ());
341+ EXPECT_EQ (2 , oh2.get ().via .ext .data ()[0 ]);
342+
343+ EXPECT_EQ (oh.get (), oh2.get ());
334344}
335345
336346TEST (MSGPACK, simple_buffer_fixext2)
@@ -347,6 +357,17 @@ TEST(MSGPACK, simple_buffer_fixext2)
347357 EXPECT_EQ (0 , oh.get ().via .ext .type ());
348358 EXPECT_TRUE (
349359 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
360+
361+ msgpack::sbuffer sbuf2;
362+ msgpack::pack (sbuf2, oh.get ());
363+ msgpack::object_handle oh2 =
364+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
365+ EXPECT_EQ (2ul , oh2.get ().via .ext .size );
366+ EXPECT_EQ (0 , oh2.get ().via .ext .type ());
367+ EXPECT_TRUE (
368+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
369+
370+ EXPECT_EQ (oh.get (), oh2.get ());
350371}
351372
352373TEST (MSGPACK, simple_buffer_fixext4)
@@ -363,6 +384,17 @@ TEST(MSGPACK, simple_buffer_fixext4)
363384 EXPECT_EQ (1 , oh.get ().via .ext .type ());
364385 EXPECT_TRUE (
365386 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
387+
388+ msgpack::sbuffer sbuf2;
389+ msgpack::pack (sbuf2, oh.get ());
390+ msgpack::object_handle oh2 =
391+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
392+ EXPECT_EQ (4ul , oh2.get ().via .ext .size );
393+ EXPECT_EQ (1 , oh2.get ().via .ext .type ());
394+ EXPECT_TRUE (
395+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
396+
397+ EXPECT_EQ (oh.get (), oh2.get ());
366398}
367399
368400TEST (MSGPACK, simple_buffer_fixext8)
@@ -379,6 +411,17 @@ TEST(MSGPACK, simple_buffer_fixext8)
379411 EXPECT_EQ (1 , oh.get ().via .ext .type ());
380412 EXPECT_TRUE (
381413 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
414+
415+ msgpack::sbuffer sbuf2;
416+ msgpack::pack (sbuf2, oh.get ());
417+ msgpack::object_handle oh2 =
418+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
419+ EXPECT_EQ (8ul , oh2.get ().via .ext .size );
420+ EXPECT_EQ (1 , oh2.get ().via .ext .type ());
421+ EXPECT_TRUE (
422+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
423+
424+ EXPECT_EQ (oh.get (), oh2.get ());
382425}
383426
384427TEST (MSGPACK, simple_buffer_fixext16)
@@ -395,6 +438,17 @@ TEST(MSGPACK, simple_buffer_fixext16)
395438 EXPECT_EQ (1 , oh.get ().via .ext .type ());
396439 EXPECT_TRUE (
397440 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
441+
442+ msgpack::sbuffer sbuf2;
443+ msgpack::pack (sbuf2, oh.get ());
444+ msgpack::object_handle oh2 =
445+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
446+ EXPECT_EQ (16ul , oh2.get ().via .ext .size );
447+ EXPECT_EQ (1 , oh2.get ().via .ext .type ());
448+ EXPECT_TRUE (
449+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
450+
451+ EXPECT_EQ (oh.get (), oh2.get ());
398452}
399453
400454TEST (MSGPACK, simple_buffer_fixext_1byte_0)
@@ -426,6 +480,17 @@ TEST(MSGPACK, simple_buffer_fixext_1byte_255)
426480 EXPECT_EQ (77 , oh.get ().via .ext .type ());
427481 EXPECT_TRUE (
428482 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
483+
484+ msgpack::sbuffer sbuf2;
485+ msgpack::pack (sbuf2, oh.get ());
486+ msgpack::object_handle oh2 =
487+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
488+ EXPECT_EQ (size, oh2.get ().via .ext .size );
489+ EXPECT_EQ (77 , oh2.get ().via .ext .type ());
490+ EXPECT_TRUE (
491+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
492+
493+ EXPECT_EQ (oh.get (), oh2.get ());
429494}
430495
431496TEST (MSGPACK, simple_buffer_fixext_2byte_256)
@@ -444,6 +509,17 @@ TEST(MSGPACK, simple_buffer_fixext_2byte_256)
444509 EXPECT_EQ (77 , oh.get ().via .ext .type ());
445510 EXPECT_TRUE (
446511 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
512+
513+ msgpack::sbuffer sbuf2;
514+ msgpack::pack (sbuf2, oh.get ());
515+ msgpack::object_handle oh2 =
516+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
517+ EXPECT_EQ (size, oh2.get ().via .ext .size );
518+ EXPECT_EQ (77 , oh2.get ().via .ext .type ());
519+ EXPECT_TRUE (
520+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
521+
522+ EXPECT_EQ (oh.get (), oh2.get ());
447523}
448524
449525TEST (MSGPACK, simple_buffer_fixext_2byte_65535)
@@ -462,6 +538,17 @@ TEST(MSGPACK, simple_buffer_fixext_2byte_65535)
462538 EXPECT_EQ (77 , oh.get ().via .ext .type ());
463539 EXPECT_TRUE (
464540 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
541+
542+ msgpack::sbuffer sbuf2;
543+ msgpack::pack (sbuf2, oh.get ());
544+ msgpack::object_handle oh2 =
545+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
546+ EXPECT_EQ (size, oh2.get ().via .ext .size );
547+ EXPECT_EQ (77 , oh2.get ().via .ext .type ());
548+ EXPECT_TRUE (
549+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
550+
551+ EXPECT_EQ (oh.get (), oh2.get ());
465552}
466553
467554TEST (MSGPACK, simple_buffer_fixext_4byte_65536)
@@ -480,6 +567,17 @@ TEST(MSGPACK, simple_buffer_fixext_4byte_65536)
480567 EXPECT_EQ (77 , oh.get ().via .ext .type ());
481568 EXPECT_TRUE (
482569 std::equal (buf, buf + sizeof (buf), oh.get ().via .ext .data ()));
570+
571+ msgpack::sbuffer sbuf2;
572+ msgpack::pack (sbuf2, oh.get ());
573+ msgpack::object_handle oh2 =
574+ msgpack::unpack (sbuf2.data (), sbuf2.size ());
575+ EXPECT_EQ (size, oh2.get ().via .ext .size );
576+ EXPECT_EQ (77 , oh2.get ().via .ext .type ());
577+ EXPECT_TRUE (
578+ std::equal (buf, buf + sizeof (buf), oh2.get ().via .ext .data ()));
579+
580+ EXPECT_EQ (oh.get (), oh2.get ());
483581}
484582
485583TEST (MSGPACK, simple_buffer_ext_convert)
0 commit comments