libpurple/tests/test_file_transfer.c

Mon, 02 Oct 2023 23:58:42 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 02 Oct 2023 23:58:42 -0500
changeset 42330
a2fa1d2d2452
child 42805
3e77e81168a5
permissions
-rw-r--r--

Implement PurpleFileTransfer

This initial implementation only implements the properties and defines the
basic flow. This does not actually implement any of the actual behavior as
that'll be done later when we can implement the whole thing.

Testing Done:
Ran the unittests under valgrind.

Bugs closed: PIDGIN-17830

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

42330
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * Lesser General Public License for more details.
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 */
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 #include <glib.h>
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 #include <glib/gstdio.h>
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22 #include <purple.h>
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 #include "test_ui.h"
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 /******************************************************************************
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 * Tests
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 *****************************************************************************/
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 static void
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 test_purple_file_transfer_new_send(gconstpointer data) {
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 PurpleAccount *account = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 PurpleFileTransfer *transfer = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 PurpleContactInfo *initiator = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 PurpleContactInfo *remote = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 GFile *local_file = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 GStatBuf st;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 char *basename = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 const char *executable = data;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 const char *filename = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 account = purple_account_new("test", "test");
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 remote = purple_contact_info_new(NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 local_file = g_file_new_for_path(executable);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 transfer = purple_file_transfer_new_send(account, remote, local_file);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 g_assert_true(PURPLE_IS_FILE_TRANSFER(transfer));
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 initiator = purple_file_transfer_get_initiator(transfer);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 g_assert_true(initiator == PURPLE_CONTACT_INFO(account));
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 filename = purple_file_transfer_get_filename(transfer);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 basename = g_path_get_basename(executable);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 g_assert_cmpstr(filename, ==, basename);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 g_clear_pointer(&basename, g_free);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 g_stat(executable, &st);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 g_assert_cmpuint(purple_file_transfer_get_file_size(transfer), ==,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 st.st_size);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 g_clear_object(&local_file);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 g_clear_object(&account);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 g_clear_object(&remote);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 g_clear_object(&transfer);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 }
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 static void
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 test_purple_file_transfer_new_receive(void) {
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 PurpleAccount *account = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 PurpleFileTransfer *transfer = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 PurpleContactInfo *initiator = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 PurpleContactInfo *remote = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 account = purple_account_new("test", "test");
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 remote = purple_contact_info_new(NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 transfer = purple_file_transfer_new_receive(account, remote, "foo", 0);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 g_assert_true(PURPLE_IS_FILE_TRANSFER(transfer));
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 initiator = purple_file_transfer_get_initiator(transfer);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 g_assert_true(initiator == remote);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 g_clear_object(&account);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 g_clear_object(&remote);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 g_clear_object(&transfer);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 }
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 static void
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 test_file_transfer_properties(gconstpointer data) {
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 PurpleAccount *account = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 PurpleAccount *account1 = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 PurpleFileTransfer *transfer = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 PurpleContactInfo *initiator = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 PurpleContactInfo *initiator1 = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 PurpleContactInfo *remote = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 PurpleContactInfo *remote1 = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 GCancellable *cancellable = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 GFile *local_file = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 GFile *local_file1 = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 char *content_type = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 char *filename = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 char *filename1 = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 char *message = NULL;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 const char *executable = data;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 guint64 file_size = 1337;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 guint64 file_size1 = 0;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 account = purple_account_new("test", "test");
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 remote = purple_contact_info_new(NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 initiator = purple_contact_info_new(NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 local_file = g_file_new_for_path(executable);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 filename = g_path_get_basename(executable);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 /* Create the instance. */
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 transfer = g_object_new(
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 PURPLE_TYPE_FILE_TRANSFER,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 "account", account,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 "remote", remote,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 "initiator", initiator,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 "local-file", local_file,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 "filename", filename,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 "file-size", file_size,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 "content-type", "application/octet-stream",
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 "message", "have you heard the word?",
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 /* Get all the property values. */
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 g_object_get(
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 G_OBJECT(transfer),
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 "account", &account1,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 "remote", &remote1,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 "initiator", &initiator1,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132 "local-file", &local_file1,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 "filename", &filename1,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 "file-size", &file_size1,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 "content-type", &content_type,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 "message", &message,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 "cancellable", &cancellable,
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 /* Validate and clean up all of the properties. */
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 g_assert_true(account == account1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 g_clear_object(&account1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 g_assert_true(remote == remote1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 g_clear_object(&remote1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 g_assert_true(initiator == initiator1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 g_clear_object(&initiator1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 g_assert_true(local_file == local_file1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 g_clear_object(&local_file1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 g_assert_cmpstr(filename, ==, filename1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 g_clear_pointer(&filename1, g_free);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 g_assert_cmpuint(file_size, ==, file_size1);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 g_assert_cmpstr(content_type, ==, "application/octet-stream");
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 g_clear_pointer(&content_type, g_free);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 g_assert_cmpstr(message, ==, "have you heard the word?");
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 g_clear_pointer(&message, g_free);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 g_assert_true(G_IS_CANCELLABLE(cancellable));
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165 g_clear_object(&cancellable);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167 /* Clean up or initial objects. */
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 g_clear_pointer(&filename, g_free);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 g_clear_object(&local_file);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 g_clear_object(&initiator);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 g_clear_object(&account);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 g_clear_object(&remote);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 g_clear_object(&transfer);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 }
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 /******************************************************************************
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 * Main
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 *****************************************************************************/
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 gint
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 main(gint argc, gchar *argv[]) {
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 gint ret = 0;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 g_test_init(&argc, &argv, NULL);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 test_ui_purple_init();
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
186
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 g_test_add_data_func("/file-transfer/new/send", argv[0],
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188 test_purple_file_transfer_new_send);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 g_test_add_func("/file-transfer/new/receive",
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
190 test_purple_file_transfer_new_receive);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191 g_test_add_data_func("/file-transfer/properties", argv[0],
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 test_file_transfer_properties);
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194 ret = g_test_run();
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
195
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 test_ui_purple_uninit();
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 return ret;
a2fa1d2d2452 Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 }

mercurial