From 3d1dbbfbc0c86e48606e6910087f9f07359d372c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 21 Nov 2011 08:27:52 -0800 Subject: [PATCH] test json --- base/test_base.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/base/test_base.c b/base/test_base.c index 4772d21e2..b3f6a604a 100644 --- a/base/test_base.c +++ b/base/test_base.c @@ -77,8 +77,8 @@ test_dict(void) dict = heim_dict_create(10); - heim_dict_add_value(dict, a1, a2); - heim_dict_add_value(dict, a3, a4); + heim_dict_set_value(dict, a1, a2); + heim_dict_set_value(dict, a3, a4); heim_dict_delete_key(dict, a3); heim_dict_delete_key(dict, a1); @@ -157,6 +157,70 @@ test_error(void) return 0; } +static int +test_json(void) +{ + heim_object_t o, o2; + heim_string_t k1 = heim_string_create("k1"); + + o = heim_json_create("\"string\"", NULL); + heim_assert(o != NULL, "string"); + heim_assert(heim_get_tid(o) == heim_string_get_type_id(), "string-tid"); + heim_assert(strcmp("string", heim_string_get_utf8(o)) == 0, "wrong string"); + heim_release(o); + + o = heim_json_create(" { \"key\" : \"value\" }", NULL); + heim_assert(o != NULL, "dict"); + heim_assert(heim_get_tid(o) == heim_dict_get_type_id(), "dict-tid"); + heim_release(o); + + o = heim_json_create(" { \"k1\" : \"s1\", \"k2\" : \"s2\" }", NULL); + heim_assert(o != NULL, "dict"); + heim_assert(heim_get_tid(o) == heim_dict_get_type_id(), "dict-tid"); + o2 = heim_dict_get_value(o, k1); + heim_assert(heim_get_tid(o2) == heim_string_get_type_id(), "string-tid"); + heim_release(o); + + o = heim_json_create(" { \"k1\" : { \"k2\" : \"s2\" } }", NULL); + heim_assert(o != NULL, "dict"); + heim_assert(heim_get_tid(o) == heim_dict_get_type_id(), "dict-tid"); + o2 = heim_dict_get_value(o, k1); + heim_assert(heim_get_tid(o2) == heim_dict_get_type_id(), "dict-tid"); + heim_release(o); + + o = heim_json_create("{ \"k1\" : 1 }", NULL); + heim_assert(o != NULL, "array"); + heim_assert(heim_get_tid(o) == heim_dict_get_type_id(), "dict-tid"); + o2 = heim_dict_get_value(o, k1); + heim_assert(heim_get_tid(o2) == heim_number_get_type_id(), "number-tid"); + heim_release(o); + + o = heim_json_create("-10", NULL); + heim_assert(o != NULL, "number"); + heim_assert(heim_get_tid(o) == heim_number_get_type_id(), "number-tid"); + heim_release(o); + + o = heim_json_create("99", NULL); + heim_assert(o != NULL, "number"); + heim_assert(heim_get_tid(o) == heim_number_get_type_id(), "number-tid"); + heim_release(o); + + o = heim_json_create(" [ 1 ]", NULL); + heim_assert(o != NULL, "array"); + heim_assert(heim_get_tid(o) == heim_array_get_type_id(), "array-tid"); + heim_release(o); + + o = heim_json_create(" [ -1 ]", NULL); + heim_assert(o != NULL, "array"); + heim_assert(heim_get_tid(o) == heim_array_get_type_id(), "array-tid"); + heim_release(o); + + heim_release(k1); + + return 0; +} + + int main(int argc, char **argv) { @@ -167,6 +231,7 @@ main(int argc, char **argv) res |= test_auto_release(); res |= test_string(); res |= test_error(); + res |= test_json(); return res ? 1 : 0; } -- 2.11.4.GIT