skyped: set FD_CLOEXEC on listening socket
[bitlbee.git] / tests / check_set.c
blob29e3c8c88fe571786fcb6c0d8a9270ba118c80fe
1 #include <stdlib.h>
2 #include <glib.h>
3 #include <gmodule.h>
4 #include <check.h>
5 #include <string.h>
6 #include "set.h"
7 #include "testsuite.h"
9 START_TEST(test_set_add)
10 void *data = "data";
11 set_t *s = NULL, *t;
12 t = set_add(&s, "name", "default", NULL, data);
13 fail_unless(s == t);
14 fail_unless(t->data == data);
15 fail_unless(strcmp(t->def, "default") == 0);
16 END_TEST
18 START_TEST(test_set_add_existing)
19 void *data = "data";
20 set_t *s = NULL, *t;
21 t = set_add(&s, "name", "default", NULL, data);
22 t = set_add(&s, "name", "newdefault", NULL, data);
23 fail_unless(s == t);
24 fail_unless(strcmp(t->def, "newdefault") == 0);
25 END_TEST
27 START_TEST(test_set_find_unknown)
28 set_t *s = NULL, *t;
29 fail_unless (set_find(&s, "foo") == NULL);
30 END_TEST
32 START_TEST(test_set_find)
33 void *data = "data";
34 set_t *s = NULL, *t;
35 t = set_add(&s, "name", "default", NULL, data);
36 fail_unless(s == t);
37 fail_unless(set_find(&s, "name") == t);
38 END_TEST
40 START_TEST(test_set_get_str_default)
41 void *data = "data";
42 set_t *s = NULL, *t;
43 t = set_add(&s, "name", "default", NULL, data);
44 fail_unless(s == t);
45 fail_unless(strcmp(set_getstr(&s, "name"), "default") == 0);
46 END_TEST
48 START_TEST(test_set_get_bool_default)
49 void *data = "data";
50 set_t *s = NULL, *t;
51 t = set_add(&s, "name", "true", NULL, data);
52 fail_unless(s == t);
53 fail_unless(set_getbool(&s, "name"));
54 END_TEST
56 START_TEST(test_set_get_bool_integer)
57 void *data = "data";
58 set_t *s = NULL, *t;
59 t = set_add(&s, "name", "3", NULL, data);
60 fail_unless(s == t);
61 fail_unless(set_getbool(&s, "name") == 3);
62 END_TEST
64 START_TEST(test_set_get_bool_unknown)
65 set_t *s = NULL;
66 fail_unless(set_getbool(&s, "name") == 0);
67 END_TEST
69 START_TEST(test_set_get_str_value)
70 void *data = "data";
71 set_t *s = NULL, *t;
72 t = set_add(&s, "name", "default", NULL, data);
73 set_setstr(&s, "name", "foo");
74 fail_unless(strcmp(set_getstr(&s, "name"), "foo") == 0);
75 END_TEST
77 START_TEST(test_set_get_str_unknown)
78 set_t *s = NULL;
79 fail_unless(set_getstr(&s, "name") == NULL);
80 END_TEST
82 START_TEST(test_setint)
83 void *data = "data";
84 set_t *s = NULL, *t;
85 t = set_add(&s, "name", "10", NULL, data);
86 set_setint(&s, "name", 3);
87 fail_unless(set_getint(&s, "name") == 3);
88 END_TEST
90 START_TEST(test_setstr)
91 void *data = "data";
92 set_t *s = NULL, *t;
93 t = set_add(&s, "name", "foo", NULL, data);
94 set_setstr(&s, "name", "bloe");
95 fail_unless(strcmp(set_getstr(&s, "name"), "bloe") == 0);
96 END_TEST
98 START_TEST(test_set_get_int_unknown)
99 set_t *s = NULL;
100 fail_unless(set_getint(&s, "foo") == 0);
101 END_TEST
103 Suite *set_suite (void)
105 Suite *s = suite_create("Set");
106 TCase *tc_core = tcase_create("Core");
107 suite_add_tcase (s, tc_core);
108 tcase_add_test (tc_core, test_set_add);
109 tcase_add_test (tc_core, test_set_add_existing);
110 tcase_add_test (tc_core, test_set_find_unknown);
111 tcase_add_test (tc_core, test_set_find);
112 tcase_add_test (tc_core, test_set_get_str_default);
113 tcase_add_test (tc_core, test_set_get_str_value);
114 tcase_add_test (tc_core, test_set_get_str_unknown);
115 tcase_add_test (tc_core, test_set_get_bool_default);
116 tcase_add_test (tc_core, test_set_get_bool_integer);
117 tcase_add_test (tc_core, test_set_get_bool_unknown);
118 tcase_add_test (tc_core, test_set_get_int_unknown);
119 tcase_add_test (tc_core, test_setint);
120 tcase_add_test (tc_core, test_setstr);
121 return s;