pidgin/pidgin

f451f9216e9d
Parents 8b77fd20fcea
Children a83219b36b01
add a test for the send function being called
--- a/libpurple/tests/test_protocol_xfer.c Sun Nov 26 02:45:33 2017 -0600
+++ b/libpurple/tests/test_protocol_xfer.c Sun Nov 26 21:11:46 2017 -0600
@@ -39,6 +39,7 @@
gboolean can_send;
gboolean new_xfer_called;
+ gboolean send_called;
} TestPurpleProtocolXfer;
typedef struct {
@@ -53,6 +54,13 @@
return test_xfer->can_send;
}
+static void
+test_purple_protocol_xfer_send(PurpleProtocolXfer *prplxfer, PurpleConnection *c, const gchar *who, const gchar *filename) {
+ TestPurpleProtocolXfer *test_xfer = (TestPurpleProtocolXfer *)prplxfer;
+
+ test_xfer->send_called = TRUE;
+}
+
static PurpleXfer *
test_purple_protocol_xfer_new_xfer(PurpleProtocolXfer *prplxfer, PurpleConnection *c, const gchar *who) {
TestPurpleProtocolXfer *test_xfer = (TestPurpleProtocolXfer *)prplxfer;
@@ -66,7 +74,7 @@
static void
test_purple_protocol_xfer_iface_init(PurpleProtocolXferInterface *iface) {
iface->can_receive = test_purple_protocol_xfer_can_receive;
- iface->send = NULL;
+ iface->send = test_purple_protocol_xfer_send;
iface->new_xfer = test_purple_protocol_xfer_new_xfer;
}
@@ -121,6 +129,16 @@
}
static void
+test_purple_protocol_xfer_send_func(void) {
+ TestPurpleProtocolXfer *prplxfer = g_object_new(test_purple_protocol_xfer_get_type(), NULL);
+ PurpleAccount *a = purple_account_new("prpl-xfer-send", "prpl-xfer");
+ PurpleConnection *c = g_object_new(PURPLE_TYPE_CONNECTION, "account", a, NULL);
+
+ purple_protocol_xfer_send(PURPLE_PROTOCOL_XFER(prplxfer), c, "foo", "somefile");
+ g_assert_true(prplxfer->send_called);
+}
+
+static void
test_purple_protocol_xfer_new_func(void) {
TestPurpleProtocolXfer *prplxfer = g_object_new(test_purple_protocol_xfer_get_type(), NULL);
PurpleAccount *a = purple_account_new("prpl-xfer-new-xfer", "prpl-xfer");
@@ -154,6 +172,11 @@
);
g_test_add_func(
+ "/protocol-xfer/send",
+ test_purple_protocol_xfer_send_func
+ );
+
+ g_test_add_func(
"/protocol-xfer/new",
test_purple_protocol_xfer_new_func
);