diff options
author | Emmanuele Bassi <ebassi@openedhand.com> | 2008-03-05 16:03:24 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@openedhand.com> | 2008-03-05 16:03:24 +0000 |
commit | b8943381b0df44d9e6e21ae8321df2376c8458a8 (patch) | |
tree | 131e48ecc1ae4caae6a773ef51a78e4e597c87c9 /json-glib/tests | |
parent | 7eab612d9b200aef197fa1dffa4f89b936c76b1f (diff) | |
download | json-glib-b8943381b0df44d9e6e21ae8321df2376c8458a8.tar.gz |
Add JsonObject test unit
Use a similar test unit as the JsonArray one, testing creation, empty
objects, addition and removal of members.
Diffstat (limited to 'json-glib/tests')
-rw-r--r-- | json-glib/tests/Makefile.am | 17 | ||||
-rw-r--r-- | json-glib/tests/object-test.c | 62 |
2 files changed, 73 insertions, 6 deletions
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 <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include <glib.h> +#include <json-glib/json-types.h> + +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 (); +} |