libpurple/tests/test_contact_info.c

Mon, 07 Aug 2023 23:21:08 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 07 Aug 2023 23:21:08 -0500
changeset 42266
f521c4c38c6e
parent 42257
281bd12a66f7
child 42312
7d6f0b8b6e77
permissions
-rw-r--r--

Add PurpleProtocolContactSearchInterface to search for contacts

This interface is meant for you to be able to search for new contacts to add to
your contact list. Right now this just does keyword search, but can be extended
in the future.

Searching through your contact list is the ui's responsibility.

Testing Done:
Ran the unit tests

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

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
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 #include <purple.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #include "test_ui.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) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
41 PurpleContactInfo *info = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
42 PurpleContactInfoPermission permission;
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
43 PurplePerson *person = NULL;
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
44 PurplePerson *person1 = NULL;
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 PurplePresence *presence1 = NULL;
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 PurpleTags *tags = NULL;
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 GdkPixbuf *avatar = NULL;
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 GdkPixbuf *avatar1 = 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;
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
59 char *name_for_display = NULL;
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 avatar = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, 1, 1);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
62 person = purple_person_new();
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
64 time_zone = g_time_zone_new_utc();
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
65
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 /* 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
67 * 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
68 * code.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
70 info = g_object_new(
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
71 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
72 "id", "id1",
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 "username", "username",
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 "display-name", "display-name",
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 "alias", "alias",
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
76 "color", "#e9c636",
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
77 "email", "pidgin@example.com",
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
78 "phone-number", "+10123456789",
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
79 "time-zone", time_zone,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
80 "note", "message in a bottle",
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 "avatar", avatar,
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
82 "person", person,
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
83 "permission", PURPLE_CONTACT_INFO_PERMISSION_ALLOW,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 /* 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
87 g_object_get(info,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 "id", &id,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 "username", &username,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 "display-name", &display_name,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 "alias", &alias,
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
92 "color", &color,
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
93 "email", &email,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
94 "phone-number", &phone_number,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
95 "time-zone", &time_zone1,
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
96 "note", &note,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 "avatar", &avatar1,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 "presence", &presence1,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 "tags", &tags,
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
100 "person", &person1,
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
101 "permission", &permission,
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
102 "name-for-display", &name_for_display,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 /* 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
106 g_assert_cmpstr(id, ==, "id1");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 g_assert_cmpstr(username, ==, "username");
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 g_assert_cmpstr(display_name, ==, "display-name");
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 g_assert_cmpstr(alias, ==, "alias");
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
110 g_assert_cmpstr(color, ==, "#e9c636");
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
111 g_assert_cmpstr(email, ==, "pidgin@example.com");
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
112 g_assert_cmpstr(phone_number, ==, "+10123456789");
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
113 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
114 g_time_zone_get_identifier(time_zone));
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
115 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
116 g_assert_cmpstr(name_for_display, ==, "alias");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 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
118 g_assert_nonnull(presence1);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 g_assert_nonnull(tags);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
120 g_assert_true(person1 == person);
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
121 g_assert_true(permission == PURPLE_CONTACT_INFO_PERMISSION_ALLOW);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 /* Free/unref all the things. */
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 g_clear_pointer(&id, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 g_clear_pointer(&username, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 g_clear_pointer(&display_name, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 g_clear_pointer(&alias, g_free);
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
128 g_clear_pointer(&color, g_free);
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
129 g_clear_pointer(&email, g_free);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
130 g_clear_pointer(&phone_number, g_free);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42184
diff changeset
131 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
132 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
133 g_clear_pointer(&name_for_display, g_free);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 g_clear_object(&avatar1);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 g_clear_object(&presence1);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 g_clear_object(&tags);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
137 g_clear_object(&person);
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
138 g_clear_object(&person1);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 g_clear_object(&avatar);
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
141 g_clear_object(&info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 }
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 /******************************************************************************
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
145 * 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
146 *****************************************************************************/
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
147 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
148 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
149 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
150 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
151 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
152
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
153 person = purple_person_new();
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
154 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
155
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
156 info = purple_contact_info_new("id");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
157 /* 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
158 * the person's alias.
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
159 */
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
160 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
161 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
162 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
163
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
164 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
165 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
166
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
167 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
168 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
169 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
170
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
171 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
172 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
173 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
174 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
175 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
176
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
177 person = purple_person_new();
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
178 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
179
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
180 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
181 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
182 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
183 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
184 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
185
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
186
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
187 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
188 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
189
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
190 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
191 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
192 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
193
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
194 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
195 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
196 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
197 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
198 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
199
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
200 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
201
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
202 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
203 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
204
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
205 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
206 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
207
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
208 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
209 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
210
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
211 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
212 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
213 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
214
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
215 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
216 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
217 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
218 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
219 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
220
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
221 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
222
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
223 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
224 purple_contact_info_set_username(info, "username");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
225 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
226
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
227 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
228 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
229
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
230 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
231 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
232 }
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 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
235 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
236 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
237 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
238 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
239
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
240 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
241
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
242 info = purple_contact_info_new("id");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
243 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
244
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
245 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
246 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
247
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
248 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
249 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
250 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
251
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
252 /******************************************************************************
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
253 * 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
254 *****************************************************************************/
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
255 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
256 test_purple_contact_info_compare_not_null__null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
257 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
258
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
259 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
260
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
261 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
262
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
263 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
264 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
265
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
266 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
267 test_purple_contact_info_compare_null__not_null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
268 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
269
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
270 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
271
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
272 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
273
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
274 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
275 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
276
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
277 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
278 test_purple_contact_info_compare_null__null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
279 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
280 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
281
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
282 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
283 test_purple_contact_info_compare_person__no_person(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
284 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
285 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
286 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
287
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
288 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
289 person = purple_person_new();
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
290 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
291
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
292 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
293
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
294 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
295
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
296 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
297 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
298 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
299 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
300
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
301 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
302 test_purple_contact_info_compare_no_person__person(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
303 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
304 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
305 PurplePerson *person = NULL;
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 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
308
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
309 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
310 person = purple_person_new();
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
311 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
312
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
313 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
314
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
315 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
316 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
317 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
318 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
319
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
320 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
321 test_purple_contact_info_compare_name__name(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
322 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
323 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
324
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
325 info_a = purple_contact_info_new(NULL);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
326 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
327
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
328 info_b = purple_contact_info_new(NULL);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
329 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
330
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
331 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
332 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
333
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
334 purple_contact_info_set_username(info_b, "aaa");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
335 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
336
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
337 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
338 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
339 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
340
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
341 /******************************************************************************
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
342 * Matches
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
343 *****************************************************************************/
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
344 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
345 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
346 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
347
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
348 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
349
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
350 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
351 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
352
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
353 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
354 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
355 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
356
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
357 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
358
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
359 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
360 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
361
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
362 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
363 test_purple_contact_info_matches_username(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
364 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
365
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
366 purple_contact_info_set_username(info, "username");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
367
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
368 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
369
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
370 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
371 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
372
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
373 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
374 test_purple_contact_info_matches_alias(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
375 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
376
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
377 purple_contact_info_set_alias(info, "alias");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
378
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
379 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
380
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
381 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
382 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
383
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
384 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
385 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
386 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
387
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
388 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
389
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
390 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
391
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
392 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
393 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
394
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
395 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
396 test_purple_contact_info_matches_none(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
397 PurpleContactInfo *info = purple_contact_info_new("id");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
398
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
399 purple_contact_info_set_username(info, "username");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
400 purple_contact_info_set_alias(info, "alias");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
401 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
402
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
403 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
404
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
405 g_clear_object(&info);
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
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
408 /******************************************************************************
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
409 * 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
410 *****************************************************************************/
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
411 static void
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
412 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
413 PurplePresence *presence,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
414 GParamSpec *pspec,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
415 gpointer data)
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
416 {
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
417 guint *counter = data;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
418
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
419 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
420 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
421 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
422
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
423 *counter = *counter + 1;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
424 }
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
425
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
426 static void
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
427 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
428 PurpleContactInfo *info = NULL;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
429 PurplePresence *presence = NULL;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
430 guint counter = 0;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
431
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
432 /* 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
433 * 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
434 */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
435 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
436 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
437 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
438 &counter);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
439 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
440 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
441 &counter);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
442
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
443 /* 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
444 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
445 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
446
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
447 /* 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
448 * 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
449 * detailed callback.
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
450 */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
451 g_assert_cmpint(counter, ==, 0);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
452 purple_presence_set_idle(presence, TRUE, NULL);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
453 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
454
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
455 /* Cleanup. */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
456 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
457 }
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
458
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
459 /******************************************************************************
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
460 * Main
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
461 *****************************************************************************/
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
462 gint
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
463 main(gint argc, gchar *argv[]) {
42184
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
464 gint ret = 0;
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
465
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
466 g_test_init(&argc, &argv, NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
467
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
468 test_ui_purple_init();
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
469
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
470 g_test_add_func("/contact-info/new",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
471 test_purple_contact_info_new);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
472 g_test_add_func("/contact-info/properties",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
473 test_purple_contact_info_properties);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
474
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
475 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
476 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
477 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
478 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
479 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
480 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
481 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
482 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
483 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
484 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
485
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
486 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
487 test_purple_contact_info_compare_not_null__null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
488 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
489 test_purple_contact_info_compare_null__not_null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
490 g_test_add_func("/contact-info/compare/null__null",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
491 test_purple_contact_info_compare_null__null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
492 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
493 test_purple_contact_info_compare_person__no_person);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
494 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
495 test_purple_contact_info_compare_no_person__person);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
496 g_test_add_func("/contact-info/compare/name__name",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
497 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
498
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
499 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
500 test_purple_contact_info_matches_accepts_null);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
501 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
502 test_purple_contact_info_matches_empty_string);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
503 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
504 test_purple_contact_info_matches_username);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
505 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
506 test_purple_contact_info_matches_alias);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
507 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
508 test_purple_contact_info_matches_display_name);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
509 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
510 test_purple_contact_info_matches_none);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
511
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
512 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
513 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
514
42184
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
515 ret = g_test_run();
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
516
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
517 test_ui_purple_uninit();
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
518
4e1bf25f5575 Fix several leaks in tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42115
diff changeset
519 return ret;
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
520 }

mercurial