summaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
Diffstat (limited to 'c')
-rw-r--r--c/Makefile.am8
-rw-r--r--c/test.cpp28
2 files changed, 36 insertions, 0 deletions
diff --git a/c/Makefile.am b/c/Makefile.am
index daa8a76..0a52446 100644
--- a/c/Makefile.am
+++ b/c/Makefile.am
@@ -18,3 +18,11 @@ nobase_include_HEADERS = \
# -version-info CURRENT:REVISION:AGE
libmsgpackc_la_LDFLAGS = -version-info 1:0:0
+check_PROGRAMS = \
+ msgpackc_test
+
+msgpackc_test_SOURCES = test.cpp
+msgpackc_test_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/c
+msgpackc_test_LDFLAGS = libmsgpackc.la -lgtest_main
+
+TESTS = $(check_PROGRAMS)
diff --git a/c/test.cpp b/c/test.cpp
new file mode 100644
index 0000000..b42d931
--- /dev/null
+++ b/c/test.cpp
@@ -0,0 +1,28 @@
+#include "msgpack.h"
+
+#include <gtest/gtest.h>
+
+TEST(MSGPACKC, simple_buffer)
+{
+ msgpack_sbuffer sbuf;
+ msgpack_sbuffer_init(&sbuf);
+
+ msgpack_packer pk;
+ msgpack_packer_init(&pk, &sbuf, msgpack_sbuffer_write);
+
+ msgpack_pack_int(pk, 1);
+
+ msgpack_zone z;
+ msgpack_zone_init(&z, 2048);
+
+ msgpack_object obj;
+
+ msgpack_unpack_return ret =
+ msgpack_unpack(sbuf.data, sbuf.size, NULL, &z, &obj);
+
+ EXPECT_EQ(ret, MSGPACK_UNPACK_SUCCESS);
+
+ EXPECT_EQ(MSGPACK_OBJECT_POSITIVE_INTEGER, obj.type);
+ EXPECT_EQ(1, obj.via.u64);
+}
+