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

added unit test for json parser

This commit is contained in:
Falk Werner
2020-07-12 16:03:38 +02:00
parent fd70fa73ac
commit fe32a31e09
2 changed files with 93 additions and 1 deletions

View File

@@ -11,6 +11,17 @@ namespace
}
}
TEST(json_parser, parse_null)
{
char text[] = "null";
wfp_json_doc * doc = parse_json(text);
ASSERT_NE(nullptr, doc);
wfp_json const * root = wfp_impl_json_doc_root(doc);
ASSERT_TRUE(wfp_impl_json_is_null(root));
wfp_impl_json_doc_dispose(doc);
}
TEST(json_parser, parse_true)
{
char text[] = "true";
@@ -107,7 +118,19 @@ TEST(json_parser, parse_object)
TEST(json_parser, parse_fail_invalid_json)
{
{
char text[] = "True";
char text[] = "invalid";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "nul";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "tru";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
@@ -124,6 +147,24 @@ TEST(json_parser, parse_fail_invalid_json)
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "[1 2 3]";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "[1,2,3";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "[1,2,]";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "{\"method\":\"add\",\"params\":[1,2],\"id\":42";
wfp_json_doc * doc = parse_json(text);
@@ -136,4 +177,34 @@ TEST(json_parser, parse_fail_invalid_json)
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "{\"key\" \"value\"}";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "{\"key\": }";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "{\"key\": \"value\"";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "{\"key\" \"value\"]";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
{
char text[] = "{\"key\": \"value\", }";
wfp_json_doc * doc = parse_json(text);
ASSERT_EQ(nullptr, doc);
}
}