39 lines
696 B
C++
39 lines
696 B
C++
#include <mpack/mpack.h>
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
static mpack_reader_t r;
|
|
static const char data[] = "\x82\xA7""compact\xC3\xA6""schema\x00";
|
|
|
|
TEST(mpack, get_tag_example)
|
|
{
|
|
mpack_tag_t t;
|
|
char key[32];
|
|
/* char val[32]; */
|
|
|
|
mpack_reader_init_data(&r, data, sizeof(data) - 1);
|
|
|
|
size_t keys = mpack_expect_map(&r);
|
|
|
|
printf("map size: %zu\n", keys);
|
|
|
|
for (size_t n = 0; n < keys; n++) {
|
|
mpack_expect_cstr(&r, key, sizeof(key));
|
|
t = mpack_read_tag(&r);
|
|
switch (t.type) {
|
|
case mpack_type_str:
|
|
mpack_read_bytes(&r, key, t.v.l);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
printf("key: %s\n", key);
|
|
/* printf("val: %s\n", val); */
|
|
}
|
|
|
|
mpack_done_map(&r);
|
|
|
|
mpack_reader_destroy(&r);
|
|
}
|