1
0
mirror of https://github.com/falk-werner/webfuse synced 2024-10-27 20:34:10 +00:00
falk-werner_webfuse/test/webfuse/util/test_util.cc
2020-07-18 23:16:18 +02:00

41 lines
940 B
C++

#include "webfuse/impl/util/json_util.h"
#include "webfuse/test_util/json_doc.hpp"
#include <gtest/gtest.h>
using webfuse_test::JsonDoc;
TEST(jsonrpc_util, get_int)
{
JsonDoc doc("{\"key\": 23}");
int value = wf_impl_json_get_int(doc.root(), "key", 42);
ASSERT_EQ(23, value);
}
TEST(jsonrpc_util, failed_to_get_null_object)
{
int value = wf_impl_json_get_int(nullptr, "key", 42);
ASSERT_EQ(42, value);
}
TEST(jsonrpc_util, failed_to_get_not_object)
{
JsonDoc doc("[]");
int value = wf_impl_json_get_int(doc.root(), "key", 42);
ASSERT_EQ(42, value);
}
TEST(jsonrpc_util, failed_to_get_invalid_key)
{
JsonDoc doc("{}");
int value = wf_impl_json_get_int(doc.root(), "key", 42);
ASSERT_EQ(42, value);
}
TEST(jsonrpc_util, failed_to_get_invalid_value_type)
{
JsonDoc doc("{\"key\": \"42\"}");
int value = wf_impl_json_get_int(doc.root(), "key", 42);
ASSERT_EQ(42, value);
}