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/object-test.c | |
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/object-test.c')
-rw-r--r-- | json-glib/tests/object-test.c | 62 |
1 files changed, 62 insertions, 0 deletions
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 (); +} |