summaryrefslogtreecommitdiff
path: root/json-glib/tests/object-test.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2008-03-05 16:03:24 +0000
committerEmmanuele Bassi <ebassi@openedhand.com>2008-03-05 16:03:24 +0000
commitb8943381b0df44d9e6e21ae8321df2376c8458a8 (patch)
tree131e48ecc1ae4caae6a773ef51a78e4e597c87c9 /json-glib/tests/object-test.c
parent7eab612d9b200aef197fa1dffa4f89b936c76b1f (diff)
downloadjson-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.c62
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 ();
+}