libpurple/tests/test_conversation_member.c

Thu, 07 Aug 2025 21:40:13 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 07 Aug 2025 21:40:13 -0500
changeset 43302
e7b0bbfec5d5
parent 43202
1c2e548285f3
permissions
-rw-r--r--

Add an avatar-for-display property to Purple.ContactInfo

Testing Done:
Ran the tests under valgrind and called in the turtles.

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

42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * Lesser General Public License for more details.
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 */
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 #include <glib.h>
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 #include <purple.h>
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 /******************************************************************************
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
24 * Callbacks
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
25 *****************************************************************************/
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
26 static void
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
27 test_purple_conversation_member_notify_counter(GObject *self,
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
28 G_GNUC_UNUSED GParamSpec *pspec,
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
29 gpointer data)
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
30 {
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
31 guint *counter = data;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
32
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
33 g_assert_true(PURPLE_IS_CONVERSATION_MEMBER(self));
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
34
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
35 *counter = *counter + 1;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
36 }
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
37
43202
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
38 static void
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
39 test_purple_conversation_member_badges_changed_counter(PurpleConversationMember *member,
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
40 gpointer data)
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
41 {
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
42 guint *counter = data;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
43
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
44 g_assert_true(PURPLE_IS_CONVERSATION_MEMBER(member));
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
45
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
46 *counter = *counter + 1;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
47 }
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
48
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
49 /******************************************************************************
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 * Tests
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 *****************************************************************************/
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 static void
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 test_purple_conversation_member_new(void) {
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 PurpleContactInfo *info = NULL;
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 PurpleConversationMember *member = NULL;
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 info = purple_contact_info_new(NULL);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 g_assert_true(PURPLE_IS_CONTACT_INFO(info));
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 member = purple_conversation_member_new(info);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 g_assert_true(PURPLE_IS_CONVERSATION_MEMBER(member));
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 g_clear_object(&info);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 g_clear_object(&member);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 }
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 static void
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 test_purple_conversation_member_properties(void) {
42921
a595e51a5bfa Add a badges property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42869
diff changeset
69 PurpleBadges *badges = NULL;
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 PurpleContactInfo *info = NULL;
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 PurpleContactInfo *info1 = NULL;
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 PurpleConversationMember *member = NULL;
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 PurpleTags *tags = NULL;
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
74 PurpleTypingState typing_state = PURPLE_TYPING_STATE_NONE;
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
75 char *alias = NULL;
43140
951c4110ad50 Create Purple.ConversationMember:color
Gary Kramlich <grim@reaperworld.com>
parents: 43139
diff changeset
76 char *color = NULL;
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
77 char *name_for_display = NULL;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
78 char *nickname = NULL;
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 info = purple_contact_info_new("abc123");
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 /* Use g_object_new so we can test setting properties by name. All of them
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 * call the setter methods, so by doing it this way we exercise more of the
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 * code.
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 */
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 member = g_object_new(
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 PURPLE_TYPE_CONVERSATION_MEMBER,
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
88 "alias", "pidgy1",
43140
951c4110ad50 Create Purple.ConversationMember:color
Gary Kramlich <grim@reaperworld.com>
parents: 43139
diff changeset
89 "color", "#55aaff",
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 "contact-info", info,
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
91 "nickname", "pidgy",
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
92 "typing-state", PURPLE_TYPING_STATE_TYPING,
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 NULL);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 /* Now use g_object_get to read all of the properties. */
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
96 g_object_get(
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
97 member,
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
98 "alias", &alias,
42921
a595e51a5bfa Add a badges property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42869
diff changeset
99 "badges", &badges,
43140
951c4110ad50 Create Purple.ConversationMember:color
Gary Kramlich <grim@reaperworld.com>
parents: 43139
diff changeset
100 "color", &color,
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 "contact-info", &info1,
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
102 "name-for-display", &name_for_display,
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
103 "nickname", &nickname,
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 "tags", &tags,
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
105 "typing-state", &typing_state,
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 NULL);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
108 g_assert_cmpstr(alias, ==, "pidgy1");
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
109 g_clear_pointer(&alias, g_free);
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
110
42921
a595e51a5bfa Add a badges property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42869
diff changeset
111 g_assert_true(PURPLE_IS_BADGES(badges));
a595e51a5bfa Add a badges property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42869
diff changeset
112 g_clear_object(&badges);
a595e51a5bfa Add a badges property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42869
diff changeset
113
43140
951c4110ad50 Create Purple.ConversationMember:color
Gary Kramlich <grim@reaperworld.com>
parents: 43139
diff changeset
114 g_assert_cmpstr(color, ==, "#55aaff");
951c4110ad50 Create Purple.ConversationMember:color
Gary Kramlich <grim@reaperworld.com>
parents: 43139
diff changeset
115 g_clear_pointer(&color, g_free);
951c4110ad50 Create Purple.ConversationMember:color
Gary Kramlich <grim@reaperworld.com>
parents: 43139
diff changeset
116
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 g_assert_true(info1 == info);
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
118 g_clear_object(&info1);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
119
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
120 g_assert_cmpstr(name_for_display, ==, "pidgy1");
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
121 g_clear_pointer(&name_for_display, g_free);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
122
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
123 g_assert_cmpstr(nickname, ==, "pidgy");
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
124 g_clear_pointer(&nickname, g_free);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
125
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 g_assert_true(PURPLE_IS_TAGS(tags));
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
127 g_clear_object(&tags);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
128
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
129 g_assert_cmpint(typing_state, ==, PURPLE_TYPING_STATE_TYPING);
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
131 g_assert_finalize_object(member);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
132 g_assert_finalize_object(info);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
133 }
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
134
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
135 static void
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
136 test_purple_conversation_member_name_for_display(void) {
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
137 PurpleContactInfo *info = NULL;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
138 PurpleConversationMember *member = NULL;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
139 const char *name_for_display = NULL;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
140 guint counter = 0;
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
141
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
142 info = purple_contact_info_new("abc123");
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
143 member = purple_conversation_member_new(info);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
144 g_signal_connect(member, "notify::name-for-display",
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
145 G_CALLBACK(test_purple_conversation_member_notify_counter),
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
146 &counter);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
147
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
148 /* Make sure our counter is still 0. */
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
149 g_assert_cmpuint(counter, ==, 0);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
150
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
151 /* Make sure the default falls back to the contact info's id. */
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
152 name_for_display = purple_conversation_member_get_name_for_display(member);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
153 g_assert_cmpstr(name_for_display, ==, "abc123");
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
155 /* Set the username on the contact info and make sure it propagates up. */
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
156 counter = 0;
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
157 purple_contact_info_set_username(info, "tron");
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
158 name_for_display = purple_conversation_member_get_name_for_display(member);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
159 g_assert_cmpstr(name_for_display, ==, "tron");
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
160 g_assert_cmpuint(counter, ==, 1);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
161
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
162 /* Set the nickname on the conversation member and make sure that takes
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
163 * precedence.
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
164 */
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
165 counter = 0;
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
166 purple_conversation_member_set_nickname(member, "rinzler");
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
167 name_for_display = purple_conversation_member_get_name_for_display(member);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
168 g_assert_cmpstr(name_for_display, ==, "rinzler");
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
169 g_assert_cmpuint(counter, ==, 1);
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
170
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
171 /* Set the alias on the conversation member and make sure that takes
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
172 * precedence.
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
173 */
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
174 counter = 0;
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
175 purple_conversation_member_set_alias(member, "Alan");
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
176 name_for_display = purple_conversation_member_get_name_for_display(member);
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
177 g_assert_cmpstr(name_for_display, ==, "Alan");
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
178 g_assert_cmpuint(counter, ==, 1);
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
179
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
180 /* Remove the alias and verify we fall back to the nickname. */
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
181 counter = 0;
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
182 purple_conversation_member_set_alias(member, NULL);
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
183 name_for_display = purple_conversation_member_get_name_for_display(member);
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
184 g_assert_cmpstr(name_for_display, ==, "rinzler");
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
185 g_assert_cmpuint(counter, ==, 1);
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
186
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
187 /* Remove the nickname and verify it falls back to the value from the
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
188 * contact info.
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
189 */
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
190 counter = 0;
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
191 purple_conversation_member_set_nickname(member, NULL);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
192 name_for_display = purple_conversation_member_get_name_for_display(member);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
193 g_assert_cmpstr(name_for_display, ==, "tron");
43139
7b9d197a5e16 Add an alias property to Purple.ConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 43127
diff changeset
194 g_assert_cmpuint(counter, ==, 1);
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
195
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
196 g_assert_finalize_object(member);
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
197 g_assert_finalize_object(info);
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 }
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200 /******************************************************************************
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
201 * Typing State Timeout
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
202 *****************************************************************************/
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
203 static void
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
204 test_purple_conversation_manager_timeout_notify(GObject *obj,
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
205 G_GNUC_UNUSED GParamSpec *pspec,
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
206 gpointer data)
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
207 {
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
208 PurpleConversationMember *member = NULL;
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
209 PurpleTypingState state = PURPLE_TYPING_STATE_NONE;
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
210 gboolean *done = data;
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
211 static guint count = 0;
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
212
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
213 g_assert_true(PURPLE_IS_CONVERSATION_MEMBER(obj));
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
214 member = PURPLE_CONVERSATION_MEMBER(obj);
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
215
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
216 state = purple_conversation_member_get_typing_state(member);
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
217 if(count == 0) {
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
218 g_assert_cmpuint(state, ==, PURPLE_TYPING_STATE_TYPING);
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
219 } else if(count == 1) {
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
220 g_assert_cmpuint(state, ==, PURPLE_TYPING_STATE_NONE);
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
221 } else {
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
222 g_assert_not_reached();
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
223 }
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
224
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
225 /* Increment count each time we're called. */
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
226 count++;
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
227 if(count >= 2) {
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
228 *done = TRUE;
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
229 }
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
230 }
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
231
43127
eae3279e871c Use g_timeout_add_once where possible
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42921
diff changeset
232 static void
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
233 test_purple_conversation_member_typing_state_fail_safe(gpointer data) {
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
234 gboolean *done = data;
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
235
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
236 g_assert_not_reached();
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
237
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
238 *done = TRUE;
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
239 }
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
240
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
241 static void
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
242 test_purple_conversation_member_typing_state_timeout(void) {
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
243 PurpleContactInfo *info = NULL;
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
244 PurpleConversationMember *member = NULL;
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
245 PurpleTypingState typing_state = PURPLE_TYPING_STATE_TYPING;
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
246 gboolean done = FALSE;
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
247
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
248 /* Create the member and add a notify callback on the typing-state property
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
249 * so we can check it and exit the main loop.
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
250 */
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
251 info = purple_contact_info_new(NULL);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
252 member = purple_conversation_member_new(info);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
253 g_signal_connect(member, "notify::typing-state",
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
254 G_CALLBACK(test_purple_conversation_manager_timeout_notify),
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
255 &done);
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
256
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
257 /* Set the state to typing with a timeout of 1 second. */
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
258 purple_conversation_member_set_typing_state(member,
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
259 PURPLE_TYPING_STATE_TYPING, 1);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
260
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
261 /* We add a fail safe to set done after 2 seconds. */
43127
eae3279e871c Use g_timeout_add_once where possible
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42921
diff changeset
262 g_timeout_add_seconds_once(2,
eae3279e871c Use g_timeout_add_once where possible
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42921
diff changeset
263 test_purple_conversation_member_typing_state_fail_safe,
eae3279e871c Use g_timeout_add_once where possible
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42921
diff changeset
264 &done);
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
265
42869
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
266 while(!done) {
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
267 g_main_context_iteration(NULL, FALSE);
cd866a253d36 Modernize the Purple.ConversationMember tests
Gary Kramlich <grim@reaperworld.com>
parents: 42866
diff changeset
268 }
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
269
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
270 /* Verify that our state got reset back to PURPLE_TYPING_STATE_NONE. */
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
271 typing_state = purple_conversation_member_get_typing_state(member);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
272 g_assert_cmpint(typing_state, ==, PURPLE_TYPING_STATE_NONE);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
273
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
274 /* Clean everything up. */
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
275 g_clear_object(&info);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
276 g_clear_object(&member);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
277 }
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
278
43202
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
279 static void
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
280 test_purple_conversation_member_badges_changed_signal(void) {
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
281 PurpleBadge *badge = NULL;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
282 PurpleBadges *badges = NULL;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
283 PurpleContactInfo *info = NULL;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
284 PurpleConversationMember *member = NULL;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
285 guint counter = 0;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
286
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
287 /* Create the member and connect to the badges-changed signal for verify
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
288 * it was emitted when expected.
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
289 */
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
290 info = purple_contact_info_new(NULL);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
291 member = purple_conversation_member_new(info);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
292 g_signal_connect(member, "badges-changed",
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
293 G_CALLBACK(test_purple_conversation_member_badges_changed_counter),
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
294 &counter);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
295
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
296 badges = purple_conversation_member_get_badges(member);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
297
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
298 /* Add a badge and verify badges-changed only got emitted once. */
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
299 counter = 0;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
300 badge = purple_badge_new("test", 0, "test-icon", "t");
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
301 purple_badges_add_badge(badges, badge);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
302 g_assert_cmpuint(counter, ==, 1);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
303 g_clear_object(&badge);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
304
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
305 /* Remove the badge and verify badges-changed only got emitted once. */
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
306 counter = 0;
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
307 purple_badges_remove_badge(badges, "test");
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
308 g_assert_cmpuint(counter, ==, 1);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
309
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
310 /* Clean everything up. */
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
311 g_clear_object(&info);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
312 g_clear_object(&member);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
313 }
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
314
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
315 /******************************************************************************
43172
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
316 * Matches Tests
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
317 *****************************************************************************/
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
318 static void
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
319 test_purple_conversation_member_matches_accepts_null(void) {
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
320 PurpleContactInfo *info = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
321 PurpleConversationMember *member = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
322
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
323 info = purple_contact_info_new(NULL);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
324 member = purple_conversation_member_new(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
325
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
326 g_assert_true(purple_conversation_member_matches(member, NULL));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
327
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
328 g_assert_finalize_object(member);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
329 g_assert_finalize_object(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
330 }
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
331
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
332 static void
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
333 test_purple_conversation_member_matches_empty_string(void) {
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
334 PurpleContactInfo *info = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
335 PurpleConversationMember *member = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
336
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
337 info = purple_contact_info_new(NULL);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
338 member = purple_conversation_member_new(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
339
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
340 g_assert_true(purple_conversation_member_matches(member, ""));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
341
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
342 g_assert_finalize_object(member);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
343 g_assert_finalize_object(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
344 }
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
345
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
346 static void
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
347 test_purple_conversation_member_matches_alias(void) {
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
348 PurpleContactInfo *info = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
349 PurpleConversationMember *member = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
350
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
351 info = purple_contact_info_new(NULL);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
352 member = purple_conversation_member_new(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
353 purple_conversation_member_set_alias(member, "this is the alias");
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
354
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
355 g_assert_true(purple_conversation_member_matches(member, "the"));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
356 g_assert_false(purple_conversation_member_matches(member, "what"));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
357
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
358 g_assert_finalize_object(member);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
359 g_assert_finalize_object(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
360 }
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
361
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
362 static void
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
363 test_purple_conversation_member_matches_nickname(void) {
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
364 PurpleContactInfo *info = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
365 PurpleConversationMember *member = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
366
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
367 info = purple_contact_info_new(NULL);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
368 member = purple_conversation_member_new(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
369 purple_conversation_member_set_alias(member, "nickosaurus");
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
370
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
371 g_assert_true(purple_conversation_member_matches(member, "nick"));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
372 g_assert_false(purple_conversation_member_matches(member, "dinosaur"));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
373
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
374 g_assert_finalize_object(member);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
375 g_assert_finalize_object(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
376 }
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
377
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
378 static void
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
379 test_purple_conversation_member_matches_contact_info(void) {
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
380 PurpleContactInfo *info = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
381 PurpleConversationMember *member = NULL;
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
382
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
383 info = purple_contact_info_new(NULL);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
384 purple_contact_info_set_alias(info, "something");
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
385 member = purple_conversation_member_new(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
386
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
387 g_assert_true(purple_conversation_member_matches(member, "some"));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
388 g_assert_false(purple_conversation_member_matches(member, "any"));
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
389
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
390 g_assert_finalize_object(member);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
391 g_assert_finalize_object(info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
392 }
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
393
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
394 /******************************************************************************
43185
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
395 * Compare Tests
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
396 *****************************************************************************/
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
397 static void
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
398 test_purple_conversation_member_compare_not_null__null(void) {
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
399 PurpleContactInfo *info = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
400 PurpleConversationMember *member = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
401
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
402 info = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
403 member = purple_conversation_member_new(info);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
404
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
405 g_assert_cmpint(purple_conversation_member_compare(member, NULL), <, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
406
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
407 g_assert_finalize_object(member);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
408 g_assert_finalize_object(info);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
409 }
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
410
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
411 static void
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
412 test_purple_conversation_member_compare_null__not_null(void) {
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
413 PurpleContactInfo *info = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
414 PurpleConversationMember *member = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
415
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
416 info = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
417 member = purple_conversation_member_new(info);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
418
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
419 g_assert_cmpint(purple_conversation_member_compare(NULL, member), >, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
420
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
421 g_assert_finalize_object(member);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
422 g_assert_finalize_object(info);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
423 }
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
424
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
425 static void
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
426 test_purple_conversation_member_compare_null__null(void) {
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
427 g_assert_cmpint(purple_conversation_member_compare(NULL, NULL), ==, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
428 }
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
429
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
430 static void
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
431 test_purple_conversation_member_compare_same(void) {
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
432 PurpleContactInfo *info = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
433 PurpleConversationMember *member = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
434
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
435 info = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
436 member = purple_conversation_member_new(info);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
437
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
438 g_assert_cmpint(purple_conversation_member_compare(member, member), ==, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
439
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
440 g_assert_finalize_object(member);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
441 g_assert_finalize_object(info);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
442 }
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
443
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
444 static void
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
445 test_purple_conversation_member_compare_nickname__nickname(void) {
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
446 PurpleContactInfo *info1 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
447 PurpleContactInfo *info2 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
448 PurpleConversationMember *member1 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
449 PurpleConversationMember *member2 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
450 int result = 0;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
451
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
452 info1 = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
453 member1 = purple_conversation_member_new(info1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
454 purple_conversation_member_set_nickname(member1, "aaa");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
455
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
456 info2 = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
457 member2 = purple_conversation_member_new(info2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
458 purple_conversation_member_set_nickname(member2, "zzz");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
459
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
460 result = purple_conversation_member_compare(member1, member2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
461 g_assert_cmpint(result, <, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
462
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
463 result = purple_conversation_member_compare(member2, member1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
464 g_assert_cmpint(result, >, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
465
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
466 purple_conversation_member_set_nickname(member2, "aaa");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
467 result = purple_conversation_member_compare(member1, member2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
468 g_assert_cmpint(result, ==, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
469
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
470 g_assert_finalize_object(member1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
471 g_assert_finalize_object(member2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
472 g_assert_finalize_object(info1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
473 g_assert_finalize_object(info2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
474 }
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
475
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
476 static void
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
477 test_purple_conversation_member_compare_badges__nickname(void) {
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
478 PurpleBadge *badge = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
479 PurpleBadges *badges = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
480 PurpleContactInfo *info1 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
481 PurpleContactInfo *info2 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
482 PurpleConversationMember *member1 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
483 PurpleConversationMember *member2 = NULL;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
484 gboolean removed = FALSE;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
485 int result = 0;
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
486
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
487 info1 = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
488 member1 = purple_conversation_member_new(info1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
489 purple_conversation_member_set_nickname(member1, "zzz");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
490 badges = purple_conversation_member_get_badges(member1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
491 badge = purple_badge_new("id", 1000, "icon", "I");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
492 purple_badges_add_badge(badges, badge);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
493 g_clear_object(&badge);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
494
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
495 info2 = purple_contact_info_new(NULL);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
496 member2 = purple_conversation_member_new(info2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
497 purple_conversation_member_set_nickname(member2, "aaa");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
498
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
499 result = purple_conversation_member_compare(member1, member2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
500 g_assert_cmpint(result, <, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
501
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
502 result = purple_conversation_member_compare(member2, member1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
503 g_assert_cmpint(result, >, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
504
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
505 /* Remove the badge and make sure member2 is sorted first because its
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
506 * nickname sorts first.
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
507 */
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
508 removed = purple_badges_remove_badge(badges, "id");
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
509 g_assert_true(removed);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
510
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
511 result = purple_conversation_member_compare(member1, member2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
512 g_assert_cmpint(result, >, 0);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
513
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
514 g_assert_finalize_object(member1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
515 g_assert_finalize_object(member2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
516 g_assert_finalize_object(info1);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
517 g_assert_finalize_object(info2);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
518 }
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
519
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
520 /******************************************************************************
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
521 * Main
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
522 *****************************************************************************/
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42779
diff changeset
523 int
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42779
diff changeset
524 main(int argc, char *argv[]) {
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
525 g_test_init(&argc, &argv, NULL);
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42779
diff changeset
526 g_test_set_nonfatal_assertions();
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
527
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
528 g_test_add_func("/conversation-member/new",
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
529 test_purple_conversation_member_new);
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
530 g_test_add_func("/conversation-member/properties",
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
531 test_purple_conversation_member_properties);
42779
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
532 g_test_add_func("/conversation-member/name-for-display",
365eaa9d46f8 Add ConversationMember:nickname and ConversationMember:name-for-display properties
Gary Kramlich <grim@reaperworld.com>
parents: 42113
diff changeset
533 test_purple_conversation_member_name_for_display);
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
534
42113
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
535 g_test_add_func("/conversation-member/typing-state/timeout",
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
536 test_purple_conversation_member_typing_state_timeout);
393c2ea6b399 Add PurpleTypingState and add it as a property to PurpleConversationMember
Gary Kramlich <grim@reaperworld.com>
parents: 42080
diff changeset
537
43202
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
538 g_test_add_func("/conversation-member/badges-changed-signal",
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
539 test_purple_conversation_member_badges_changed_signal);
1c2e548285f3 Add a badges-changed signal to Purple.ConversationMember and fix the items changed emissions
Gary Kramlich <grim@reaperworld.com>
parents: 43185
diff changeset
540
43172
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
541 g_test_add_func("/conversation-member/matches/accepts_null",
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
542 test_purple_conversation_member_matches_accepts_null);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
543 g_test_add_func("/conversation-member/matches/empty_string",
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
544 test_purple_conversation_member_matches_empty_string);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
545 g_test_add_func("/conversation-member/matches/alias",
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
546 test_purple_conversation_member_matches_alias);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
547 g_test_add_func("/conversation-member/matches/nickname",
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
548 test_purple_conversation_member_matches_nickname);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
549 g_test_add_func("/conversation-member/matches/contact_info",
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
550 test_purple_conversation_member_matches_contact_info);
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
551
43185
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
552 g_test_add_func("/conversation-member/compare/not_null__null",
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
553 test_purple_conversation_member_compare_not_null__null);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
554 g_test_add_func("/conversation-member/compare/null__not_null",
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
555 test_purple_conversation_member_compare_null__not_null);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
556 g_test_add_func("/conversation-member/compare/null__null",
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
557 test_purple_conversation_member_compare_null__null);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
558 g_test_add_func("/conversation-member/compare/same",
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
559 test_purple_conversation_member_compare_same);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
560 g_test_add_func("/conversation-member/compare/nickname__nickname",
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
561 test_purple_conversation_member_compare_nickname__nickname);
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
562 g_test_add_func("/conversation-member/compare/badges__nickname",
c7b0c4b88dfb Implement Purple.ConversationMember.compare
Gary Kramlich <grim@reaperworld.com>
parents: 43172
diff changeset
563 test_purple_conversation_member_compare_badges__nickname);
43172
8f93d317f96a Add Purple.ConversationMember.matches
Gary Kramlich <grim@reaperworld.com>
parents: 43140
diff changeset
564
42080
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
565 return g_test_run();
df47db24cee6 Add PurpleConversationMember to link a PurpleContactInfo to a PurpleConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
566 }

mercurial