libpurple/tests/test_contact_info.c

Fri, 03 Mar 2023 04:49:01 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 03 Mar 2023 04:49:01 -0600
changeset 42115
4f06e6f47a78
parent 42064
9f922bd66563
child 42184
4e1bf25f5575
permissions
-rw-r--r--

Propagate the notify signal for the Presence object on a ContactInfo

Testing Done:
Ran the unit tests under valgrind and verified now no leaks.
Also checked the docs and made sure the signal was documented properly.

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

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;
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
49 char *id = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
50 char *username = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
51 char *display_name = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
52 char *alias = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
53 char *color = NULL;
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
54 char *name_for_display = NULL;
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 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
57 person = purple_person_new();
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 /* 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
60 * 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
61 * code.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
63 info = g_object_new(
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
64 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
65 "id", "id1",
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 "username", "username",
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 "display-name", "display-name",
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 "alias", "alias",
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
69 "color", "#e9c636",
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 "avatar", avatar,
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
71 "person", person,
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
72 "permission", PURPLE_CONTACT_INFO_PERMISSION_ALLOW,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 /* 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
76 g_object_get(info,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 "id", &id,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 "username", &username,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 "display-name", &display_name,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 "alias", &alias,
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
81 "color", &color,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 "avatar", &avatar1,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 "presence", &presence1,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 "tags", &tags,
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
85 "person", &person1,
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
86 "permission", &permission,
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
87 "name-for-display", &name_for_display,
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 /* 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
91 g_assert_cmpstr(id, ==, "id1");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 g_assert_cmpstr(username, ==, "username");
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 g_assert_cmpstr(display_name, ==, "display-name");
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 g_assert_cmpstr(alias, ==, "alias");
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
95 g_assert_cmpstr(color, ==, "#e9c636");
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
96 g_assert_cmpstr(name_for_display, ==, "alias");
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 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
98 g_assert_nonnull(presence1);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 g_assert_nonnull(tags);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
100 g_assert_true(person1 == person);
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
101 g_assert_true(permission == PURPLE_CONTACT_INFO_PERMISSION_ALLOW);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 /* Free/unref all the things. */
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 g_clear_pointer(&id, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 g_clear_pointer(&username, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 g_clear_pointer(&display_name, g_free);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 g_clear_pointer(&alias, g_free);
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
108 g_clear_pointer(&color, g_free);
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
109 g_clear_pointer(&name_for_display, g_free);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 g_clear_object(&avatar1);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 g_clear_object(&presence1);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 g_clear_object(&tags);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
113 g_clear_object(&person);
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41739
diff changeset
114 g_clear_object(&person1);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 g_clear_object(&avatar);
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
117 g_clear_object(&info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 }
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 /******************************************************************************
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
121 * 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
122 *****************************************************************************/
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
123 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
124 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
125 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
126 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
127 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
128
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
129 person = purple_person_new();
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
130 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
131
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
132 info = purple_contact_info_new("id");
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
133 /* 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
134 * the person's alias.
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
135 */
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
136 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
137 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
138 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
139
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
140 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
141 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
142
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
143 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
144 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
145 }
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_contact_info_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");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
157 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
158 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
159 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
160 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
161
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
162
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
163 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
164 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
165
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
166 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
167 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
168 }
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 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
171 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
172 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
173 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
174 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
175
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
176 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
177
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
178 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
179 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
180
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
181 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
182 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
183
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
184 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
185 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
186
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
187 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
188 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
189 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
190
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
191 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
192 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
193 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
194 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
195 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
196
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
197 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
198
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
199 info = purple_contact_info_new("id");
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
200 purple_contact_info_set_username(info, "username");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
201 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
202
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
203 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
204 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
205
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
206 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
207 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
208 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
209
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
210 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
211 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
212 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
213 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
214 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
215
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
216 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
217
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
218 info = purple_contact_info_new("id");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
219 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
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);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
222 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
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 /******************************************************************************
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
229 * 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
230 *****************************************************************************/
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
231 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
232 test_purple_contact_info_compare_not_null__null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
233 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
234
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
235 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
236
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
237 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
238
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
239 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
240 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
241
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
242 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
243 test_purple_contact_info_compare_null__not_null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
244 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
245
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
246 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
247
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
248 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
249
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
250 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
251 }
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 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
254 test_purple_contact_info_compare_null__null(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
255 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
256 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
257
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
258 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
259 test_purple_contact_info_compare_person__no_person(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
260 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
261 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
262 PurplePerson *person = NULL;
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
263
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
264 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
265 person = purple_person_new();
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
266 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
267
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
268 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
269
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
270 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
271
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
272 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
273 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
274 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
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_no_person__person(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
279 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
280 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
281 PurplePerson *person = NULL;
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_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
284
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
285 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
286 person = purple_person_new();
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
287 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
288
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
289 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
290
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
291 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
292 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
293 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
294 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
295
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
296 static void
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
297 test_purple_contact_info_compare_name__name(void) {
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
298 PurpleContactInfo *info_a = NULL;
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
299 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
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);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
302 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
303
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
304 info_b = purple_contact_info_new(NULL);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
305 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
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 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
309
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
310 purple_contact_info_set_username(info_b, "aaa");
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
311 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
312
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
313 g_clear_object(&info_a);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
314 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
315 }
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
316
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
317 /******************************************************************************
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
318 * Matches
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
319 *****************************************************************************/
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
320 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
321 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
322 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
323
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
324 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
325
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
326 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
327 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
328
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
329 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
330 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
331 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
332
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
333 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
334
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
335 g_clear_object(&info);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
336 }
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
337
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
338 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
339 test_purple_contact_info_matches_username(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
340 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
341
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
342 purple_contact_info_set_username(info, "username");
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 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
345
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
346 g_clear_object(&info);
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
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
349 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
350 test_purple_contact_info_matches_alias(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
351 PurpleContactInfo *info = purple_contact_info_new(NULL);
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 purple_contact_info_set_alias(info, "alias");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
354
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
355 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
356
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
357 g_clear_object(&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
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
360 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
361 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
362 PurpleContactInfo *info = purple_contact_info_new(NULL);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
363
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
364 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
365
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
366 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
367
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
368 g_clear_object(&info);
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
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
371 static void
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
372 test_purple_contact_info_matches_none(void) {
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
373 PurpleContactInfo *info = purple_contact_info_new("id");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
374
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
375 purple_contact_info_set_username(info, "username");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
376 purple_contact_info_set_alias(info, "alias");
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
377 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
378
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
379 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
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 /******************************************************************************
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
385 * 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
386 *****************************************************************************/
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
387 static void
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
388 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
389 PurplePresence *presence,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
390 GParamSpec *pspec,
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
391 gpointer data)
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
392 {
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
393 guint *counter = data;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
394
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
395 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
396 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
397 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
398
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
399 *counter = *counter + 1;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
400 }
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
401
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
402 static void
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
403 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
404 PurpleContactInfo *info = NULL;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
405 PurplePresence *presence = NULL;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
406 guint counter = 0;
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
407
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
408 /* 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
409 * 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
410 */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
411 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
412 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
413 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
414 &counter);
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
415 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
416 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
417 &counter);
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 /* 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
420 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
421 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
422
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
423 /* 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
424 * 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
425 * detailed callback.
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
426 */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
427 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
428 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
429 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
430
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
431 /* Cleanup. */
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
432 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
433 }
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 /******************************************************************************
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
436 * Main
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
437 *****************************************************************************/
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
438 gint
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
439 main(gint argc, gchar *argv[]) {
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
440 g_test_init(&argc, &argv, NULL);
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
441
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
442 test_ui_purple_init();
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
443
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
444 g_test_add_func("/contact-info/new",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
445 test_purple_contact_info_new);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
446 g_test_add_func("/contact-info/properties",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
447 test_purple_contact_info_properties);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
448
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
449 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
450 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
451 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
452 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
453 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
454 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
455 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
456 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
457 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
458 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
459
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
460 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
461 test_purple_contact_info_compare_not_null__null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
462 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
463 test_purple_contact_info_compare_null__not_null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
464 g_test_add_func("/contact-info/compare/null__null",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
465 test_purple_contact_info_compare_null__null);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
466 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
467 test_purple_contact_info_compare_person__no_person);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
468 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
469 test_purple_contact_info_compare_no_person__person);
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
470 g_test_add_func("/contact-info/compare/name__name",
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
471 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
472
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
473 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
474 test_purple_contact_info_matches_accepts_null);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
475 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
476 test_purple_contact_info_matches_empty_string);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
477 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
478 test_purple_contact_info_matches_username);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
479 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
480 test_purple_contact_info_matches_alias);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
481 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
482 test_purple_contact_info_matches_display_name);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
483 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
484 test_purple_contact_info_matches_none);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
485
42115
4f06e6f47a78 Propagate the notify signal for the Presence object on a ContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42064
diff changeset
486 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
487 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
488
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
489 return g_test_run();
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
490 }

mercurial