libpurple/tests/test_badge.c

Sat, 09 Aug 2025 17:37:27 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sat, 09 Aug 2025 17:37:27 +0800
branch
bird-header-fix
changeset 43304
2599d35e9750
parent 42915
c6ca43acffbb
permissions
-rw-r--r--

Fix the birb header path

The birb header referred would only work with birb provided by wrap casuing
build to fail because of system-installed birb dependency. The commit points
it to the correct path <birb.h>.

See: https://keep.imfreedom.org/birb/birb/file/5bf00c7d7f80/birb/meson.build#l77

42915
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * Lesser General Public License for more details.
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 */
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 #include <glib.h>
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 #include <purple.h>
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 /******************************************************************************
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 * Tests
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 *****************************************************************************/
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 test_purple_badge_properties(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 PurpleBadge *badge;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 char *description;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 char *icon_name;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 char *id;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 char *link_text;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 char *link_uri;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 char *mnemonic;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 char *tooltip_text;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 int priority;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 badge = g_object_new(
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 PURPLE_TYPE_BADGE,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 "description", "description",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 "icon-name", "icon-name",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 "id", "test-badge",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 "link-text", "pidgy",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 "link-uri", "https://pidgin.im/",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 "mnemonic", "@",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 "priority", 1000,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 "tooltip-text", "tooltip-text",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 NULL);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 g_object_get(
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 badge,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 "description", &description,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 "icon-name", &icon_name,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 "id", &id,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 "link-text", &link_text,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 "link-uri", &link_uri,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 "mnemonic", &mnemonic,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 "priority", &priority,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 "tooltip-text", &tooltip_text,
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 NULL);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 g_assert_cmpstr(description, ==, "description");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 g_clear_pointer(&description, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 g_assert_cmpstr(icon_name, ==, "icon-name");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 g_clear_pointer(&icon_name, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 g_assert_cmpstr(id, ==, "test-badge");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 g_clear_pointer(&id, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 g_assert_cmpstr(link_text, ==, "pidgy");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 g_clear_pointer(&link_text, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 g_assert_cmpstr(link_uri, ==, "https://pidgin.im/");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 g_clear_pointer(&link_uri, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 g_assert_cmpstr(mnemonic, ==, "@");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 g_clear_pointer(&mnemonic, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 g_assert_cmpint(priority, ==, 1000);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 g_assert_cmpstr(tooltip_text, ==, "tooltip-text");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 g_clear_pointer(&tooltip_text, g_free);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 g_assert_finalize_object(badge);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 test_purple_badge_compare_null_null(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 int result = 0;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 result = purple_badge_compare(NULL, NULL);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 g_assert_cmpint(result, ==, 0);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 test_purple_badge_compare_non_null_null(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 PurpleBadge *badge = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 int result = 0;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 badge = purple_badge_new("test-badge", 0, "icon-name", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 result = purple_badge_compare(badge, NULL);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 g_assert_cmpint(result, <, 0);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 g_assert_finalize_object(badge);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 test_purple_badge_compare_null_non_null(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 PurpleBadge *badge = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 int result = 0;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 badge = purple_badge_new("test-badge", 0, "icon-name", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 result = purple_badge_compare(NULL, badge);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 g_assert_cmpint(result, >, 0);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 g_assert_finalize_object(badge);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 test_purple_badge_compare_first(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 PurpleBadge *badge1 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 PurpleBadge *badge2 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 int result = 0;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 badge1 = purple_badge_new("one", 1000, "icon1", "@");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 badge2 = purple_badge_new("two", -1000, "icon2", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 result = purple_badge_compare(badge1, badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 g_assert_cmpint(result, <, 0);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 g_assert_finalize_object(badge1);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 g_assert_finalize_object(badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 test_purple_badge_compare_equal(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 PurpleBadge *badge1 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 PurpleBadge *badge2 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 int result = 0;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 badge1 = purple_badge_new("one", 500, "icon1", "@");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 badge2 = purple_badge_new("two", 500, "icon2", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 result = purple_badge_compare(badge1, badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 g_assert_cmpint(result, ==, 0);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 g_assert_finalize_object(badge1);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 g_assert_finalize_object(badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 test_purple_badge_compare_second(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 PurpleBadge *badge1 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 PurpleBadge *badge2 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 int result = 0;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 badge1 = purple_badge_new("one", -1000, "icon1", "@");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 badge2 = purple_badge_new("two", -500, "icon2", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165 result = purple_badge_compare(badge1, badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167 g_assert_cmpint(result, >, 0);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 g_assert_finalize_object(badge1);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 g_assert_finalize_object(badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 test_purple_badge_equal_true(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 PurpleBadge *badge1 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 PurpleBadge *badge2 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 badge1 = purple_badge_new("one", -1000, "icon1", "@");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 badge2 = purple_badge_new("one", -500, "icon2", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 g_assert_true(purple_badge_equal(badge1, badge2));
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 g_assert_finalize_object(badge1);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184 g_assert_finalize_object(badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
186
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 static void
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188 test_purple_badge_equal_false(void) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 PurpleBadge *badge1 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
190 PurpleBadge *badge2 = NULL;
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 badge1 = purple_badge_new("one", -1000, "icon1", "@");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193 badge2 = purple_badge_new("two", -500, "icon2", "+");
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
195 g_assert_false(purple_badge_equal(badge1, badge2));
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197 g_assert_finalize_object(badge1);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 g_assert_finalize_object(badge2);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 }
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
201 /******************************************************************************
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
202 * Main
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
203 *****************************************************************************/
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
204 int
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
205 main(int argc, char *argv[]) {
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
206 g_test_init(&argc, &argv, NULL);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
207 g_test_set_nonfatal_assertions();
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
208
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
209 g_test_add_func("/badge/properties", test_purple_badge_properties);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
210
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
211 g_test_add_func("/badge/compare/null_null",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
212 test_purple_badge_compare_null_null);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
213 g_test_add_func("/badge/compare/non_null_null",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
214 test_purple_badge_compare_non_null_null);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
215 g_test_add_func("/badge/compare/null_non_null",
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
216 test_purple_badge_compare_null_non_null);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
217 g_test_add_func("/badge/compare/first", test_purple_badge_compare_first);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
218 g_test_add_func("/badge/compare/equal", test_purple_badge_compare_equal);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
219 g_test_add_func("/badge/compare/second", test_purple_badge_compare_second);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
220
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
221 g_test_add_func("/badge/equal/true", test_purple_badge_equal_true);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
222 g_test_add_func("/badge/equal/false", test_purple_badge_equal_false);
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
223
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
224 return g_test_run();
c6ca43acffbb Add Purple.Badge
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
225 }

mercurial