libpurple/tests/test_message.c

Wed, 14 Aug 2024 19:26:26 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Wed, 14 Aug 2024 19:26:26 -0500
changeset 42874
c53e5e1ff6b1
parent 42866
4b201e18638f
child 42901
d3ff1696a39a
permissions
-rw-r--r--

Remove uri handling from libpurple

Testing Done:
Called in the turtles.

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

42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * Lesser General Public License for more details.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 */
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 #include <glib.h>
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 #include <purple.h>
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 /******************************************************************************
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
24 * Callbacks
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
25 *****************************************************************************/
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
26 static void
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
27 test_purple_message_notify_counter_cb(G_GNUC_UNUSED GObject *obj,
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
28 G_GNUC_UNUSED GParamSpec *pspec,
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
29 gpointer data)
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
30 {
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
31 guint *counter = data;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
32
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
33 *counter = *counter + 1;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
34 }
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
35
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
36 /******************************************************************************
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 * Tests
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 *****************************************************************************/
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 static void
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 test_purple_message_properties(void) {
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 PurpleMessage *message = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 PurpleMessageFlags flags = 0;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 GDateTime *timestamp = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 GDateTime *timestamp1 = NULL;
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
45 GDateTime *delivered_at1 = NULL;
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
46 GDateTime *edited_at1 = NULL;
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 GError *error = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 GError *error1 = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 char *id = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 char *author = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 char *author_alias = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 char *author_name_color = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 char *contents = NULL;
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
54 gboolean action = FALSE;
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
55 gboolean delivered = FALSE;
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
56 gboolean edited = FALSE;
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
57 gboolean event = FALSE;
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
58 gboolean notice = FALSE;
42840
18ba0f636076 Add a system property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42814
diff changeset
59 gboolean system = FALSE;
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 timestamp = g_date_time_new_from_unix_utc(911347200);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 error = g_error_new(g_quark_from_static_string("test-message"), 0,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 "delivery failed");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
65 /* We don't set delivered-at here because delivered will set it for us so
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
66 * it's impossible to check that here, which is why we have separate tests
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
67 * to do that check. We do verify that delivered-at was set though.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
68 */
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 message = g_object_new(
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 PURPLE_TYPE_MESSAGE,
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
71 "action", TRUE,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 "author-alias", "alias",
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
73 "author-name", "author",
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 "author-name-color", "purple",
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
75 "contents", "Now that is a big door",
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
76 "delivered", TRUE,
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
77 "edited", TRUE,
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
78 "error", error,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
79 "event", TRUE,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
80 "flags", PURPLE_MESSAGE_SYSTEM,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
81 "id", "id",
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
82 "notice", TRUE,
42840
18ba0f636076 Add a system property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42814
diff changeset
83 "system", TRUE,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 "timestamp", timestamp,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 NULL);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 g_object_get(
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 message,
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
89 "action", &action,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 "author-alias", &author_alias,
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
91 "author-name", &author,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 "author-name-color", &author_name_color,
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
93 "contents", &contents,
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
94 "delivered", &delivered,
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
95 "delivered-at", &delivered_at1,
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
96 "edited", &edited,
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
97 "edited-at", &edited_at1,
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
98 "error", &error1,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
99 "event", &event,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
100 "flags", &flags,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
101 "id", &id,
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
102 "notice", &notice,
42840
18ba0f636076 Add a system property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42814
diff changeset
103 "system", &system,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 "timestamp", &timestamp1,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 NULL);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
107 g_assert_true(action);
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
108
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 g_assert_cmpstr(author, ==, "author");
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
110 g_clear_pointer(&author, g_free);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
111
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 g_assert_cmpstr(author_alias, ==, "alias");
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
113 g_clear_pointer(&author_alias, g_free);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
114
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 g_assert_cmpstr(author_name_color, ==, "purple");
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
116 g_clear_pointer(&author_name_color, g_free);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
117
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
118 g_assert_cmpstr(contents, ==, "Now that is a big door");
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
119 g_clear_pointer(&contents, g_free);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
120
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
121 g_assert_true(delivered);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
122 g_assert_nonnull(delivered_at1);
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
123 g_clear_pointer(&delivered_at1, g_date_time_unref);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
124
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
125 g_assert_true(edited);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
126 g_assert_nonnull(edited_at1);
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
127 g_clear_pointer(&edited_at1, g_date_time_unref);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
128
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
129 g_assert_error(error1, error->domain, error->code);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
130 g_clear_error(&error);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
131 g_clear_error(&error1);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
132
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
133 g_assert_true(event);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
134
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 g_assert_cmpint(flags, ==, PURPLE_MESSAGE_SYSTEM);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
137 g_assert_cmpstr(id, ==, "id");
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 g_clear_pointer(&id, g_free);
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
139
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
140 g_assert_true(notice);
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
141
42840
18ba0f636076 Add a system property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42814
diff changeset
142 g_assert_true(system);
18ba0f636076 Add a system property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42814
diff changeset
143
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
144 g_assert_true(g_date_time_equal(timestamp1, timestamp));
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 g_clear_pointer(&timestamp, g_date_time_unref);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 g_clear_pointer(&timestamp1, g_date_time_unref);
42814
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
147
59e6529a1e78 Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents: 42756
diff changeset
148 g_assert_finalize_object(message);
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 }
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
151 static void
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
152 test_purple_message_delivered_set_delivered_at(void) {
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
153 PurpleMessage *message = NULL;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
154 guint delivered_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
155 guint delivered_at_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
156
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
157 message = g_object_new(PURPLE_TYPE_MESSAGE, NULL);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
158 g_signal_connect(message, "notify::delivered",
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
159 G_CALLBACK(test_purple_message_notify_counter_cb),
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
160 &delivered_counter);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
161 g_signal_connect(message, "notify::delivered-at",
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
162 G_CALLBACK(test_purple_message_notify_counter_cb),
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
163 &delivered_at_counter);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
164
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
165 /* The default delivery state is FALSE, so setting it to true, should call
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
166 * the notify signals and set delivered-at.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
167 */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
168 purple_message_set_delivered(message, TRUE);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
169 g_assert_true(purple_message_get_delivered(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
170 g_assert_nonnull(purple_message_get_delivered_at(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
171 g_assert_cmpuint(delivered_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
172 g_assert_cmpuint(delivered_at_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
173
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
174 /* Now clear everything and verify it's empty. */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
175 delivered_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
176 delivered_at_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
177
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
178 purple_message_set_delivered(message, FALSE);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
179 g_assert_false(purple_message_get_delivered(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
180 g_assert_null(purple_message_get_delivered_at(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
181 g_assert_cmpuint(delivered_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
182 g_assert_cmpuint(delivered_at_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
183
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
184 g_clear_object(&message);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
185 }
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
186
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
187 static void
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
188 test_purple_message_delivered_at_set_delivered(void) {
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
189 PurpleMessage *message = NULL;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
190 GDateTime *delivered_at = NULL;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
191 GDateTime *delivered_at1 = NULL;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
192 guint delivered_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
193 guint delivered_at_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
194
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
195 message = g_object_new(PURPLE_TYPE_MESSAGE, NULL);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
196 g_signal_connect(message, "notify::delivered",
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
197 G_CALLBACK(test_purple_message_notify_counter_cb),
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
198 &delivered_counter);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
199 g_signal_connect(message, "notify::delivered-at",
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
200 G_CALLBACK(test_purple_message_notify_counter_cb),
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
201 &delivered_at_counter);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
202
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
203 /* The default value for delivered-at is NULL, so setting it to non-null
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
204 * should emit the signals and everything.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
205 */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
206 delivered_at = g_date_time_new_now_utc();
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
207 purple_message_set_delivered_at(message, delivered_at);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
208 g_assert_true(purple_message_get_delivered(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
209 delivered_at1 = purple_message_get_delivered_at(message);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
210 g_assert_nonnull(delivered_at1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
211 g_assert_true(g_date_time_equal(delivered_at1, delivered_at));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
212 g_assert_cmpuint(delivered_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
213 g_assert_cmpuint(delivered_at_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
214
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
215 /* Now clear everything and make sure it's all good. */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
216 delivered_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
217 delivered_at_counter = 0;
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
218 purple_message_set_delivered_at(message, NULL);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
219 g_assert_false(purple_message_get_delivered(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
220 g_assert_null(purple_message_get_delivered_at(message));
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
221 g_assert_cmpuint(delivered_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
222 g_assert_cmpuint(delivered_at_counter, ==, 1);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
223
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
224 g_clear_pointer(&delivered_at, g_date_time_unref);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
225 g_clear_object(&message);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
226 }
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
227
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
228 static void
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
229 test_purple_message_edited_set_edited_at(void) {
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
230 PurpleMessage *message = NULL;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
231 guint edited_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
232 guint edited_at_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
233
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
234 message = g_object_new(PURPLE_TYPE_MESSAGE, NULL);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
235 g_signal_connect(message, "notify::edited",
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
236 G_CALLBACK(test_purple_message_notify_counter_cb),
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
237 &edited_counter);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
238 g_signal_connect(message, "notify::edited-at",
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
239 G_CALLBACK(test_purple_message_notify_counter_cb),
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
240 &edited_at_counter);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
241
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
242 /* The default edit state is FALSE, so setting it to true, should call
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
243 * the notify signals and set edited-at.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
244 */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
245 purple_message_set_edited(message, TRUE);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
246 g_assert_true(purple_message_get_edited(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
247 g_assert_nonnull(purple_message_get_edited_at(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
248 g_assert_cmpuint(edited_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
249 g_assert_cmpuint(edited_at_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
250
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
251 /* Now clear everything and verify it's empty. */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
252 edited_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
253 edited_at_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
254
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
255 purple_message_set_edited(message, FALSE);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
256 g_assert_false(purple_message_get_edited(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
257 g_assert_null(purple_message_get_edited_at(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
258 g_assert_cmpuint(edited_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
259 g_assert_cmpuint(edited_at_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
260
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
261 g_clear_object(&message);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
262 }
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
263
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
264 static void
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
265 test_purple_message_edited_at_set_edited(void) {
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
266 PurpleMessage *message = NULL;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
267 GDateTime *edited_at = NULL;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
268 GDateTime *edited_at1 = NULL;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
269 guint edited_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
270 guint edited_at_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
271
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
272 message = g_object_new(PURPLE_TYPE_MESSAGE, NULL);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
273 g_signal_connect(message, "notify::edited",
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
274 G_CALLBACK(test_purple_message_notify_counter_cb),
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
275 &edited_counter);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
276 g_signal_connect(message, "notify::edited-at",
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
277 G_CALLBACK(test_purple_message_notify_counter_cb),
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
278 &edited_at_counter);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
279
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
280 /* The default value for edited-at is NULL, so setting it to non-null
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
281 * should emit the signals and everything.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
282 */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
283 edited_at = g_date_time_new_now_utc();
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
284 purple_message_set_edited_at(message, edited_at);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
285 g_assert_true(purple_message_get_edited(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
286 edited_at1 = purple_message_get_edited_at(message);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
287 g_assert_nonnull(edited_at1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
288 g_assert_true(g_date_time_equal(edited_at1, edited_at));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
289 g_assert_cmpuint(edited_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
290 g_assert_cmpuint(edited_at_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
291
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
292 /* Now clear everything and make sure it's all good. */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
293 edited_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
294 edited_at_counter = 0;
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
295 purple_message_set_edited_at(message, NULL);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
296 g_assert_false(purple_message_get_edited(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
297 g_assert_null(purple_message_get_edited_at(message));
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
298 g_assert_cmpuint(edited_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
299 g_assert_cmpuint(edited_at_counter, ==, 1);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
300
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
301 g_clear_pointer(&edited_at, g_date_time_unref);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
302 g_clear_object(&message);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
303 }
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
304
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
305 /******************************************************************************
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
306 * Main
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
307 *****************************************************************************/
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42840
diff changeset
308 int
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42840
diff changeset
309 main(int argc, char *argv[]) {
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
310 g_test_init(&argc, &argv, NULL);
42866
4b201e18638f Modernize most of the unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 42840
diff changeset
311 g_test_set_nonfatal_assertions();
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
312
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
313 g_test_add_func("/message/properties",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
314 test_purple_message_properties);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
315
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
316 g_test_add_func("/message/delivered-sets-delivered-at",
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
317 test_purple_message_delivered_set_delivered_at);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
318 g_test_add_func("/message/delivered-at-sets-delivered",
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
319 test_purple_message_delivered_at_set_delivered);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
320
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
321 g_test_add_func("/message/edited-sets-edited-at",
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
322 test_purple_message_edited_set_edited_at);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
323 g_test_add_func("/message/edited-at-sets-edited",
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
324 test_purple_message_edited_at_set_edited);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
325
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
326 return g_test_run();
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
327 }

mercurial