libpurple/tests/test_contact_info.c

Mon, 12 May 2025 20:25:16 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 12 May 2025 20:25:16 -0500
changeset 43246
0e9bbe9b4da8
parent 43232
bb2ea3a628c2
child 43301
0e43dc8462e8
permissions
-rw-r--r--

Handle formatting in server messages

Testing Done:
Used the default motd on my local ergo server to verify that formatting was working.

Reviewed at https://reviews.imfreedom.org/r/3991/

41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * Lesser General Public License for more details.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 */
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 #include <glib.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20
42581
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
21 #include <birb.h>
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
22
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #include <purple.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 /******************************************************************************
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 * Tests
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 *****************************************************************************/
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
29 test_purple_contact_info_new(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
30 PurpleContactInfo *info = NULL;
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
32 info = purple_contact_info_new("id");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
34 g_assert_cmpstr(purple_contact_info_get_id(info), ==, "id");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
36 g_clear_object(&info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 }
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
40 test_purple_contact_info_properties(void) {
42312
7d6f0b8b6e77 Use PurpleAvatar for PurplePerson and PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42257
diff changeset
41 PurpleAvatar *avatar = NULL;
7d6f0b8b6e77 Use PurpleAvatar for PurplePerson and PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42257
diff changeset
42 PurpleAvatar *avatar1 = NULL;
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
43 PurpleContactInfo *info = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
44 PurpleContactInfoPermission permission;
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
45 PurplePerson *person = NULL;
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
46 PurplePerson *person1 = NULL;
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 PurplePresence *presence1 = NULL;
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 PurpleTags *tags = NULL;
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
49 GTimeZone *time_zone = NULL;
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
50 GTimeZone *time_zone1 = NULL;
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
51 char *id = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
52 char *username = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
53 char *display_name = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
54 char *alias = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
55 char *color = NULL;
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
56 char *email = NULL;
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
57 char *phone_number = NULL;
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
58 char *note = NULL;
42324
3c66b48c2fb7 Add a secondary id property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42312
diff changeset
59 char *sid = NULL;
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
60 char *name_for_display = NULL;
43232
bb2ea3a628c2 Add Purple.ContactInfo:external for tracking external contacts
Gary Kramlich <grim@reaperworld.com>
parents: 42932
diff changeset
61 gboolean external = FALSE;
42596
b64b96f3b781 Add a favorite property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42581
diff changeset
62 gboolean favorite = FALSE;
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63
42312
7d6f0b8b6e77 Use PurpleAvatar for PurplePerson and PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42257
diff changeset
64 avatar = g_object_new(PURPLE_TYPE_AVATAR, NULL);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
65 person = purple_person_new();
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
67 time_zone = g_time_zone_new_utc();
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
68
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 /* Use g_object_new so we can test setting properties by name. All of them
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 * call the setter methods, so by doing it this way we exercise more of the
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 * code.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
73 info = g_object_new(
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
74 PURPLE_TYPE_CONTACT_INFO,
41759
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
75 "id", "id1",
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 "username", "username",
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 "display-name", "display-name",
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 "alias", "alias",
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
79 "color", "#e9c636",
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
80 "email", "pidgin@example.com",
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
81 "phone-number", "+10123456789",
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
82 "time-zone", time_zone,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
83 "note", "message in a bottle",
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 "avatar", avatar,
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
85 "person", person,
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
86 "permission", PURPLE_CONTACT_INFO_PERMISSION_ALLOW,
42324
3c66b48c2fb7 Add a secondary id property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42312
diff changeset
87 "sid", "sid",
42596
b64b96f3b781 Add a favorite property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42581
diff changeset
88 "favorite", TRUE,
43232
bb2ea3a628c2 Add Purple.ContactInfo:external for tracking external contacts
Gary Kramlich <grim@reaperworld.com>
parents: 42932
diff changeset
89 "external", TRUE,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 /* Now use g_object_get to read all of the properties. */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
93 g_object_get(info,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 "id", &id,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 "username", &username,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 "display-name", &display_name,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 "alias", &alias,
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
98 "color", &color,
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
99 "email", &email,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
100 "phone-number", &phone_number,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
101 "time-zone", &time_zone1,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
102 "note", &note,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 "avatar", &avatar1,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 "presence", &presence1,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 "tags", &tags,
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
106 "person", &person1,
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
107 "permission", &permission,
42324
3c66b48c2fb7 Add a secondary id property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42312
diff changeset
108 "sid", &sid,
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
109 "name-for-display", &name_for_display,
42596
b64b96f3b781 Add a favorite property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42581
diff changeset
110 "favorite", &favorite,
43232
bb2ea3a628c2 Add Purple.ContactInfo:external for tracking external contacts
Gary Kramlich <grim@reaperworld.com>
parents: 42932
diff changeset
111 "external", &external,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 /* Compare all the things. */
41759
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
115 g_assert_cmpstr(id, ==, "id1");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 g_assert_cmpstr(username, ==, "username");
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 g_assert_cmpstr(display_name, ==, "display-name");
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 g_assert_cmpstr(alias, ==, "alias");
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
119 g_assert_cmpstr(color, ==, "#e9c636");
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
120 g_assert_cmpstr(email, ==, "pidgin@example.com");
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
121 g_assert_cmpstr(phone_number, ==, "+10123456789");
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
122 g_assert_cmpstr(g_time_zone_get_identifier(time_zone1), ==,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
123 g_time_zone_get_identifier(time_zone));
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
124 g_assert_cmpstr(note, ==, "message in a bottle");
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
125 g_assert_cmpstr(name_for_display, ==, "alias");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 g_assert_true(avatar1 == avatar);
41771
c5877e2c93f2 Create and add PurpleContacts to the manager when purple_buddy_new is called
Gary Kramlich <grim@reaperworld.com>
parents: 41759
diff changeset
127 g_assert_nonnull(presence1);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 g_assert_nonnull(tags);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
129 g_assert_true(person1 == person);
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
130 g_assert_true(permission == PURPLE_CONTACT_INFO_PERMISSION_ALLOW);
42324
3c66b48c2fb7 Add a secondary id property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42312
diff changeset
131 g_assert_cmpstr(sid, ==, "sid");
42596
b64b96f3b781 Add a favorite property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42581
diff changeset
132 g_assert_true(favorite);
43232
bb2ea3a628c2 Add Purple.ContactInfo:external for tracking external contacts
Gary Kramlich <grim@reaperworld.com>
parents: 42932
diff changeset
133 g_assert_true(external);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 /* Free/unref all the things. */
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 g_clear_pointer(&id, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 g_clear_pointer(&username, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 g_clear_pointer(&display_name, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 g_clear_pointer(&alias, g_free);
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
140 g_clear_pointer(&color, g_free);
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
141 g_clear_pointer(&email, g_free);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
142 g_clear_pointer(&phone_number, g_free);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
143 g_clear_pointer(&time_zone, g_time_zone_unref);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
144 g_clear_pointer(&note, g_free);
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
145 g_clear_pointer(&name_for_display, g_free);
42324
3c66b48c2fb7 Add a secondary id property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42312
diff changeset
146 g_clear_pointer(&sid, g_free);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 g_clear_object(&avatar1);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 g_clear_object(&presence1);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 g_clear_object(&tags);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
150 g_clear_object(&person);
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
151 g_clear_object(&person1);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 g_clear_object(&avatar);
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
154 g_clear_object(&info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 }
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 /******************************************************************************
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
158 * get_name_for_display tests
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
159 *****************************************************************************/
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
160 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
161 test_purple_contact_info_get_name_for_display_person_with_alias(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
162 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
163 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
164 const char *alias = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
165
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
166 person = purple_person_new();
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
167 purple_person_set_alias(person, "person alias");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
168
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
169 info = purple_contact_info_new("id");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
170 /* we don't set the alias on the contact info, as that takes priority over
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
171 * the person's alias.
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
172 */
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
173 purple_contact_info_set_username(info, "username");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
174 purple_contact_info_set_display_name(info, "display name");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
175 purple_contact_info_set_person(info, person);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
176
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
177 alias = purple_contact_info_get_name_for_display(info);
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
178 g_assert_cmpstr(alias, ==, "person alias");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
179
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
180 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
181 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
182 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
183
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
184 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
185 test_purple_contact_info_get_name_for_display_contact_info_with_alias(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
186 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
187 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
188 const char *alias = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
189
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
190 person = purple_person_new();
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
191 purple_person_set_alias(person, "person alias");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
192
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
193 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
194 purple_contact_info_set_person(info, person);
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
195 purple_contact_info_set_alias(info, "contact alias");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
196 purple_contact_info_set_username(info, "username");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
197 purple_contact_info_set_display_name(info, "display name");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
198
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
199
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
200 alias = purple_contact_info_get_name_for_display(info);
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
201 g_assert_cmpstr(alias, ==, "contact alias");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
202
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
203 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
204 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
205 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
206
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
207 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
208 test_purple_contact_info_get_name_for_display_contact_info_with_display_name(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
209 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
210 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
211 const char *alias = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
212
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
213 person = purple_person_new();
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
214
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
215 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
216 purple_contact_info_set_person(info, person);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
217
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
218 purple_contact_info_set_display_name(info, "display name");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
219 purple_contact_info_set_username(info, "username");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
220
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
221 alias = purple_contact_info_get_name_for_display(info);
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
222 g_assert_cmpstr(alias, ==, "display name");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
223
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
224 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
225 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
226 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
227
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
228 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
229 test_purple_contact_info_get_name_for_display_username_fallback(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
230 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
231 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
232 const char *alias = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
233
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
234 person = purple_person_new();
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
235
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
236 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
237 purple_contact_info_set_username(info, "username");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
238 purple_contact_info_set_person(info, person);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
239
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
240 alias = purple_contact_info_get_name_for_display(info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
241 g_assert_cmpstr(alias, ==, "username");
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
242
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
243 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
244 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
245 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
246
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
247 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
248 test_purple_contact_info_get_name_for_display_id_fallback(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
249 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
250 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
251 const char *alias = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
252
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
253 person = purple_person_new();
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
254
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
255 info = purple_contact_info_new("id");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
256 purple_contact_info_set_person(info, person);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
257
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
258 alias = purple_contact_info_get_name_for_display(info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
259 g_assert_cmpstr(alias, ==, "id");
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
260
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
261 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
262 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
263 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
264
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
265 /******************************************************************************
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
266 * purple_contact_info_compare tests
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
267 *****************************************************************************/
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
268 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
269 test_purple_contact_info_compare_not_null__null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
270 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
271
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
272 info = purple_contact_info_new(NULL);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
273
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
274 g_assert_cmpint(purple_contact_info_compare(info, NULL), <, 0);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
275
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
276 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
277 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
278
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
279 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
280 test_purple_contact_info_compare_null__not_null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
281 PurpleContactInfo *info = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
282
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
283 info = purple_contact_info_new(NULL);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
284
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
285 g_assert_cmpint(purple_contact_info_compare(NULL, info), >, 0);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
286
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
287 g_clear_object(&info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
288 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
289
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
290 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
291 test_purple_contact_info_compare_null__null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
292 g_assert_cmpint(purple_contact_info_compare(NULL, NULL), ==, 0);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
293 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
294
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
295 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
296 test_purple_contact_info_compare_person__no_person(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
297 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
298 PurpleContactInfo *info_b = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
299 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
300
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
301 info_a = purple_contact_info_new(NULL);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
302 person = purple_person_new();
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
303 purple_contact_info_set_person(info_a, person);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
304
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
305 info_b = purple_contact_info_new(NULL);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
306
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
307 g_assert_cmpint(purple_contact_info_compare(info_a, info_b), <, 0);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
308
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
309 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
310 g_clear_object(&info_b);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
311 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
312 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
313
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
314 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
315 test_purple_contact_info_compare_no_person__person(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
316 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
317 PurpleContactInfo *info_b = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
318 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
319
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
320 info_a = purple_contact_info_new(NULL);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
321
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
322 info_b = purple_contact_info_new(NULL);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
323 person = purple_person_new();
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
324 purple_contact_info_set_person(info_b, person);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
325
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
326 g_assert_cmpint(purple_contact_info_compare(info_a, info_b), >, 0);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
327
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
328 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
329 g_clear_object(&info_b);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
330 g_clear_object(&person);
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
331 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
332
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
333 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
334 test_purple_contact_info_compare_name__name(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
335 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
336 PurpleContactInfo *info_b = NULL;
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
337
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
338 info_a = purple_contact_info_new(NULL);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
339 purple_contact_info_set_username(info_a, "aaa");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
340
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
341 info_b = purple_contact_info_new(NULL);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
342 purple_contact_info_set_username(info_b, "zzz");
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
343
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
344 g_assert_cmpint(purple_contact_info_compare(info_a, info_b), <, 0);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
345 g_assert_cmpint(purple_contact_info_compare(info_b, info_a), >, 0);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
346
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
347 purple_contact_info_set_username(info_b, "aaa");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
348 g_assert_cmpint(purple_contact_info_compare(info_b, info_a), ==, 0);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
349
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
350 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
351 g_clear_object(&info_b);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
352 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
353
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
354 /******************************************************************************
42932
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
355 * purple_contact_info_equal tests
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
356 *****************************************************************************/
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
357 static void
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
358 test_purple_contact_info_equal_not_null__not_null(void) {
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
359 PurpleContactInfo *info_a = NULL;
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
360 PurpleContactInfo *info_b = NULL;
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
361
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
362 info_a = purple_contact_info_new(NULL);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
363 info_b = purple_contact_info_new(NULL);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
364
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
365 g_assert_true(purple_contact_info_equal(info_a, info_b));
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
366
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
367 purple_contact_info_set_username(info_a, "foo");
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
368 g_assert_false(purple_contact_info_equal(info_a, info_b));
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
369
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
370 purple_contact_info_set_username(info_b, "foo");
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
371 g_assert_true(purple_contact_info_equal(info_a, info_b));
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
372
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
373 g_clear_object(&info_a);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
374 g_clear_object(&info_b);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
375 }
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
376
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
377 static void
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
378 test_purple_contact_info_equal_not_null__null(void) {
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
379 PurpleContactInfo *info = NULL;
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
380
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
381 info = purple_contact_info_new(NULL);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
382
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
383 g_assert_false(purple_contact_info_equal(info, NULL));
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
384
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
385 g_clear_object(&info);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
386 }
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
387
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
388 static void
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
389 test_purple_contact_info_equal_null__not_null(void) {
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
390 PurpleContactInfo *info = NULL;
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
391
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
392 info = purple_contact_info_new(NULL);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
393
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
394 g_assert_false(purple_contact_info_equal(NULL, info));
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
395
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
396 g_clear_object(&info);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
397 }
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
398
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
399 static void
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
400 test_purple_contact_info_equal_null__null(void) {
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
401 g_assert_true(purple_contact_info_equal(NULL, NULL));
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
402 }
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
403
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
404 /******************************************************************************
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
405 * Matches
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
406 *****************************************************************************/
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
407 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
408 test_purple_contact_info_matches_accepts_null(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
409 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
410
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
411 g_assert_true(purple_contact_info_matches(info, NULL));
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
412
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
413 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
414 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
415
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
416 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
417 test_purple_contact_info_matches_empty_string(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
418 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
419
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
420 g_assert_true(purple_contact_info_matches(info, ""));
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
421
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
422 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
423 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
424
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
425 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
426 test_purple_contact_info_matches_username(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
427 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
428
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
429 purple_contact_info_set_username(info, "username");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
430
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
431 g_assert_true(purple_contact_info_matches(info, "name"));
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
432
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
433 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
434 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
435
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
436 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
437 test_purple_contact_info_matches_alias(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
438 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
439
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
440 purple_contact_info_set_alias(info, "alias");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
441
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
442 g_assert_true(purple_contact_info_matches(info, "lia"));
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
443
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
444 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
445 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
446
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
447 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
448 test_purple_contact_info_matches_display_name(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
449 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
450
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
451 purple_contact_info_set_display_name(info, "display name");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
452
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
453 g_assert_true(purple_contact_info_matches(info, "play"));
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
454
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
455 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
456 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
457
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
458 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
459 test_purple_contact_info_matches_none(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
460 PurpleContactInfo *info = purple_contact_info_new("id");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
461
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
462 purple_contact_info_set_username(info, "username");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
463 purple_contact_info_set_alias(info, "alias");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
464 purple_contact_info_set_display_name(info, "display name");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
465
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
466 g_assert_false(purple_contact_info_matches(info, "nothing"));
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
467
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
468 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
469 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
470
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
471 /******************************************************************************
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
472 * presence-changed signal tests
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
473 *****************************************************************************/
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
474 static void
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
475 test_purple_contact_info_presence_changed_callback(PurpleContactInfo *info,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
476 PurplePresence *presence,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
477 GParamSpec *pspec,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
478 gpointer data)
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
479 {
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
480 guint *counter = data;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
481
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
482 g_assert_true(PURPLE_IS_CONTACT_INFO(info));
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
483 g_assert_true(PURPLE_IS_PRESENCE(presence));
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
484 g_assert_true(G_IS_PARAM_SPEC(pspec));
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
485
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
486 *counter = *counter + 1;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
487 }
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
488
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
489 static void
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
490 test_purple_contact_info_presence_changed_signal(void) {
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
491 PurpleContactInfo *info = NULL;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
492 PurplePresence *presence = NULL;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
493 guint counter = 0;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
494
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
495 /* Create the info and add our callbacks, one for everything and another
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
496 * for just idle to make sure detail works.
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
497 */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
498 info = purple_contact_info_new(NULL);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
499 g_signal_connect(info, "presence-changed",
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
500 G_CALLBACK(test_purple_contact_info_presence_changed_callback),
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
501 &counter);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
502 g_signal_connect(info, "presence-changed::idle",
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
503 G_CALLBACK(test_purple_contact_info_presence_changed_callback),
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
504 &counter);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
505
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
506 /* Grab the presence and start changing stuff. */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
507 presence = purple_contact_info_get_presence(info);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
508 g_assert_true(PURPLE_IS_PRESENCE(presence));
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
509
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
510 /* Set the presence as idle with no time, which should call our callback
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
511 * three times, twice for the non-detailed callback, and once for the
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
512 * detailed callback.
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
513 */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
514 g_assert_cmpint(counter, ==, 0);
42747
801025bad2e1 Make PurplePresence final and other clean ups
Gary Kramlich <grim@reaperworld.com>
parents: 42596
diff changeset
515 purple_presence_set_idle(presence, TRUE);
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
516 g_assert_cmpint(counter, ==, 3);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
517
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
518 /* Cleanup. */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
519 g_clear_object(&info);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
520 }
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
521
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
522 /******************************************************************************
42581
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
523 * get_menu tests
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
524 *****************************************************************************/
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
525 static void
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
526 test_purple_contact_info_get_menu_populate_cb(PurpleContactInfo *info,
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
527 BirbActionMenu *action_menu,
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
528 gpointer data)
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
529 {
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
530 GMenu *menu = NULL;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
531 guint *counter = data;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
532
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
533 g_assert_true(PURPLE_IS_CONTACT_INFO(info));
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
534 g_assert_true(BIRB_IS_ACTION_MENU(action_menu));
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
535
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
536 menu = birb_action_menu_get_menu(action_menu);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
537
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
538 g_menu_append(menu, "testing", "app.test");
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
539
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
540 /* Increment our called counter. */
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
541 *counter = *counter + 1;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
542 }
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
543
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
544 static void
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
545 test_purple_contact_info_get_menu(void) {
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
546 PurpleContactInfo *info = NULL;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
547 BirbActionMenu *action_menu = NULL;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
548 GMenu *menu = NULL;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
549 guint counter = 0;
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
550
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
551 info = purple_contact_info_new(NULL);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
552
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
553 /* Check that we get an empty menu back with no signal handlers. */
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
554 action_menu = purple_contact_info_get_menu(info);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
555 menu = birb_action_menu_get_menu(action_menu);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
556 g_assert_true(G_IS_MENU_MODEL(menu));
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
557 g_assert_cmpuint(g_menu_model_get_n_items(G_MENU_MODEL(menu)), ==, 0);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
558 g_clear_object(&action_menu);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
559
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
560 /* Add a signal handler and verify that our items got added. */
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
561 g_signal_connect(info, "populate-menu",
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
562 G_CALLBACK(test_purple_contact_info_get_menu_populate_cb),
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
563 &counter);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
564
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
565 action_menu = purple_contact_info_get_menu(info);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
566 menu = birb_action_menu_get_menu(action_menu);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
567 g_assert_cmpuint(counter, ==, 1);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
568 g_assert_true(G_IS_MENU_MODEL(menu));
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
569 g_assert_cmpuint(g_menu_model_get_n_items(G_MENU_MODEL(menu)), ==, 1);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
570
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
571 g_assert_finalize_object(action_menu);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
572
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
573 /* Cleanup. */
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
574 g_clear_object(&info);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
575 }
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
576
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
577 /******************************************************************************
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
578 * Main
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
579 *****************************************************************************/
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42747
diff changeset
580 int
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42747
diff changeset
581 main(int argc, char *argv[]) {
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
582 g_test_init(&argc, &argv, NULL);
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42747
diff changeset
583 g_test_set_nonfatal_assertions();
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
584
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
585 g_test_add_func("/contact-info/new",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
586 test_purple_contact_info_new);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
587 g_test_add_func("/contact-info/properties",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
588 test_purple_contact_info_properties);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
589
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
590 g_test_add_func("/contact-info/get_name_for_display/person_with_alias",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
591 test_purple_contact_info_get_name_for_display_person_with_alias);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
592 g_test_add_func("/contact-info/get_name_for_display/contact_with_alias",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
593 test_purple_contact_info_get_name_for_display_contact_info_with_alias);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
594 g_test_add_func("/contact-info/get_name_for_display/contact_with_display_name",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
595 test_purple_contact_info_get_name_for_display_contact_info_with_display_name);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
596 g_test_add_func("/contact-info/get_name_for_display/username_fallback",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
597 test_purple_contact_info_get_name_for_display_username_fallback);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
598 g_test_add_func("/contact-info/get_name_for_display/id_fallback",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
599 test_purple_contact_info_get_name_for_display_id_fallback);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
600
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
601 g_test_add_func("/contact-info/compare/not_null__null",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
602 test_purple_contact_info_compare_not_null__null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
603 g_test_add_func("/contact-info/compare/null__not_null",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
604 test_purple_contact_info_compare_null__not_null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
605 g_test_add_func("/contact-info/compare/null__null",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
606 test_purple_contact_info_compare_null__null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
607 g_test_add_func("/contact-info/compare/person__no_person",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
608 test_purple_contact_info_compare_person__no_person);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
609 g_test_add_func("/contact-info/compare/no_person__person",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
610 test_purple_contact_info_compare_no_person__person);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
611 g_test_add_func("/contact-info/compare/name__name",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
612 test_purple_contact_info_compare_name__name);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
613
42932
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
614 g_test_add_func("/contact-info/equal/not_null__not_null",
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
615 test_purple_contact_info_equal_not_null__not_null);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
616 g_test_add_func("/contact-info/equal/not_null__null",
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
617 test_purple_contact_info_equal_not_null__null);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
618 g_test_add_func("/contact-info/equal/null__not_null",
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
619 test_purple_contact_info_equal_null__not_null);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
620 g_test_add_func("/contact-info/equal/null__null",
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
621 test_purple_contact_info_equal_null__null);
766a92094ed2 Add Purple.ContactInfo.equal method
Markus Fischer <ivanhoe@fiscari.de>
parents: 42866
diff changeset
622
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
623 g_test_add_func("/contact-info/matches/accepts_null",
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
624 test_purple_contact_info_matches_accepts_null);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
625 g_test_add_func("/contact-info/matches/emptry_string",
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
626 test_purple_contact_info_matches_empty_string);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
627 g_test_add_func("/contact-info/matches/username",
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
628 test_purple_contact_info_matches_username);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
629 g_test_add_func("/contact-info/matches/alias",
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
630 test_purple_contact_info_matches_alias);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
631 g_test_add_func("/contact-info/matches/display_name",
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
632 test_purple_contact_info_matches_display_name);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
633 g_test_add_func("/contact-info/matches/none",
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
634 test_purple_contact_info_matches_none);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
635
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
636 g_test_add_func("/contact-info/presence-changed-signal",
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
637 test_purple_contact_info_presence_changed_signal);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
638
42581
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
639 g_test_add_func("/contact-info/get_menu",
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
640 test_purple_contact_info_get_menu);
73eda937c387 Add purple_contact_info_get_menu and PurpleContactInfo::populate-menu
Gary Kramlich <grim@reaperworld.com>
parents: 42324
diff changeset
641
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42747
diff changeset
642 return g_test_run();
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
643 }

mercurial