From b8943381b0df44d9e6e21ae8321df2376c8458a8 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Wed, 5 Mar 2008 16:03:24 +0000 Subject: Add JsonObject test unit Use a similar test unit as the JsonArray one, testing creation, empty objects, addition and removal of members. --- json-glib/tests/Makefile.am | 17 +++++++----- json-glib/tests/object-test.c | 62 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 json-glib/tests/object-test.c (limited to 'json-glib/tests') diff --git a/json-glib/tests/Makefile.am b/json-glib/tests/Makefile.am index 2f0fe99..31e46d4 100644 --- a/json-glib/tests/Makefile.am +++ b/json-glib/tests/Makefile.am @@ -10,10 +10,15 @@ INCLUDES = \ noinst_PROGRAMS = $(TEST_PROGS) progs_ldadd = $(top_builddir)/json-glib/libjson-glib-1.0.la -TEST_PROGS += array-test -array_test_SOURCES = array-test.c -array_test_LDADD = $(progs_ldadd) +TEST_PROGS += array-test +array_test_SOURCES = array-test.c +array_test_LDADD = $(progs_ldadd) + +TEST_PROGS += object-test +object_test_SOURCES = object-test.c +object_test_LDADD = $(progs_ldadd) + +TEST_PROGS += node-test +node_test_SOURCES = node-test.c +node_test_LDADD = $(progs_ldadd) -TEST_PROGS += node-test -node_test_SOURCES = node-test.c -node_test_LDADD = $(progs_ldadd) diff --git a/json-glib/tests/object-test.c b/json-glib/tests/object-test.c new file mode 100644 index 0000000..34d6539 --- /dev/null +++ b/json-glib/tests/object-test.c @@ -0,0 +1,62 @@ +#include +#include +#include + +#include +#include + +static void +test_empty_object (void) +{ + JsonObject *object = json_object_new (); + + g_assert_cmpint (json_object_get_size (object), ==, 0); + g_assert (json_object_get_members (object) == NULL); + + json_object_unref (object); +} + +static void +test_add_member (void) +{ + JsonObject *object = json_object_new (); + JsonNode *node = json_node_new (JSON_NODE_NULL); + + g_assert_cmpint (json_object_get_size (object), ==, 0); + + json_object_add_member (object, "Null", node); + g_assert_cmpint (json_object_get_size (object), ==, 1); + + node = json_object_get_member (object, "Null"); + g_assert_cmpint (JSON_NODE_TYPE (node), ==, JSON_NODE_NULL); + + json_object_unref (object); +} + +static void +test_remove_member (void) +{ + JsonObject *object = json_object_new (); + JsonNode *node = json_node_new (JSON_NODE_NULL); + + json_object_add_member (object, "Null", node); + + json_object_remove_member (object, "Null"); + g_assert_cmpint (json_object_get_size (object), ==, 0); + + json_object_unref (object); +} + +int +main (int argc, + char *argv[]) +{ + g_type_init (); + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/object/empty-object", test_empty_object); + g_test_add_func ("/object/add-member", test_add_member); + g_test_add_func ("/object/remove-member", test_remove_member); + + return g_test_run (); +} -- cgit v1.2.1