1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2026-03-02 04:09:18 +00:00

refactor: changed signature of wpf_message_create to remove jansson dependency

This commit is contained in:
Falk Werner
2020-07-10 21:17:31 +02:00
parent 32c9e45e1f
commit c066090df2
10 changed files with 50 additions and 67 deletions

View File

@@ -1,16 +1,22 @@
#include <gtest/gtest.h>
#include <cstring>
#include "webfuse_provider/impl/message.h"
#include <gtest/gtest.h>
#include <libwebsockets.h>
#include <cstdlib>
#include <cstring>
TEST(wfp_message, create)
{
json_t * value = json_object();
struct wfp_message * message = wfp_message_create(value);
size_t length = 3;
char * raw_data = reinterpret_cast<char*>(malloc(LWS_PRE + length));
char * data = raw_data + LWS_PRE;
snprintf(data, length, "{}");
struct wfp_message * message = wfp_message_create(data, length);
ASSERT_NE(nullptr, message);
ASSERT_EQ(2, message->length);
ASSERT_TRUE(0 == strncmp("{}", message->data, 2));
ASSERT_EQ(3, message->length);
ASSERT_STREQ("{}", message->data);
wfp_message_dispose(message);
json_decref(value);
}

View File

@@ -3,16 +3,22 @@
#include "webfuse_provider/impl/message.h"
#include "webfuse_provider/impl/util/slist.h"
#include <libwebsockets.h>
#include <cstdlib>
#include <cstring>
namespace
{
struct wfp_slist_item * create_message(char const * content)
{
json_t * value = json_object();
json_object_set_new(value, "content", json_string(content));
struct wfp_message * message = wfp_message_create(value);
size_t length = strlen(content);
char * raw_data = reinterpret_cast<char*>(malloc(LWS_PRE + length));
char * data = raw_data + LWS_PRE;
memcpy(data, content, length);
struct wfp_message * message = wfp_message_create(data, length);
json_decref(value);
return &message->item;
}