libpurple/tests/test_message.c

Mon, 04 Sep 2023 23:12:14 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 04 Sep 2023 23:12:14 -0500
changeset 42307
083c070d4a27
parent 42078
979d202488d0
child 42308
2f80061896de
permissions
-rw-r--r--

Add an action property to PurpleMessage

This property replaces `purple_message_meify` as not everyone uses `/me` nor
should we depend on the content of the message for this.

Also fixed the property documentation for PurpleMessage.

Testing Done:
Ran the unit tests and viewed the documentation.

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

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 /******************************************************************************
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 * Tests
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 *****************************************************************************/
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 static void
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 test_purple_message_properties(void) {
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 PurpleMessage *message = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 PurpleMessageContentType content_type = 0;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 PurpleMessageFlags flags = 0;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 GDateTime *timestamp = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 GDateTime *timestamp1 = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 GError *error = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 GError *error1 = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 char *id = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 char *author = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 char *author_alias = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 char *author_name_color = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 char *recipient = NULL;
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 char *contents = NULL;
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
41 gboolean action = FALSE;
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 timestamp = g_date_time_new_from_unix_utc(911347200);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 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
45 "delivery failed");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 message = g_object_new(
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 PURPLE_TYPE_MESSAGE,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 "id", "id",
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
50 "action", TRUE,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 "author", "author",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 "author-alias", "alias",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 "author-name-color", "purple",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 "recipient", "pidgy",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 "contents", "Now that is a big door",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 "content-type", PURPLE_MESSAGE_CONTENT_TYPE_MARKDOWN,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 "timestamp", timestamp,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 "flags", PURPLE_MESSAGE_SYSTEM,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 "error", error,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 NULL);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 g_object_get(
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 message,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 "id", &id,
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
65 "action", &action,
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 "author", &author,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 "author-alias", &author_alias,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 "author-name-color", &author_name_color,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 "recipient", &recipient,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 "contents", &contents,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 "content-type", &content_type,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 "timestamp", &timestamp1,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 "flags", &flags,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 "error", &error1,
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 NULL);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 g_assert_cmpstr(id, ==, "id");
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
78 g_assert_true(action);
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 g_assert_cmpstr(author, ==, "author");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 g_assert_cmpstr(author_alias, ==, "alias");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 g_assert_cmpstr(author_name_color, ==, "purple");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 g_assert_cmpstr(recipient, ==, "pidgy");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 g_assert_cmpstr(contents, ==, "Now that is a big door");
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 g_assert_cmpint(content_type, ==, PURPLE_MESSAGE_CONTENT_TYPE_MARKDOWN);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 g_assert_true(g_date_time_equal(timestamp1, timestamp));
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 g_assert_cmpint(flags, ==, PURPLE_MESSAGE_SYSTEM);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 g_assert_error(error1, error->domain, error->code);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 g_clear_pointer(&id, g_free);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 g_clear_pointer(&author, g_free);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 g_clear_pointer(&author_alias, g_free);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 g_clear_pointer(&author_name_color, g_free);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 g_clear_pointer(&recipient, g_free);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 g_clear_pointer(&contents, g_free);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 g_clear_pointer(&timestamp, g_date_time_unref);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 g_clear_pointer(&timestamp1, g_date_time_unref);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 g_clear_error(&error1);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 g_clear_object(&message);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 }
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 /******************************************************************************
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 * Main
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 *****************************************************************************/
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 gint
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 main(gint argc, gchar *argv[]) {
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 g_test_init(&argc, &argv, NULL);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 g_test_add_func("/message/properties",
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 test_purple_message_properties);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 return g_test_run();
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 }

mercurial