libpurple/tests/test_protocol_action.c

changeset 39484
0ece2412a0b0
child 39485
092ef2b35330
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libpurple/tests/test_protocol_action.c	Thu Feb 15 23:15:48 2018 -0600
@@ -0,0 +1,100 @@
+/*
+ * Purple
+ *
+ * Purple is the legal property of its developers, whose names are too
+ * numerous to list here. Please refer to the COPYRIGHT file distributed
+ * with this source distribution
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ */
+
+#include <glib.h>
+#include <string.h>
+
+#include <purple.h>
+
+#include "dbus-server.h"
+
+/******************************************************************************
+ * Helpers
+ *****************************************************************************/
+static void
+_test_purple_protocol_action_callback(PurpleProtocolAction *action) {
+
+}
+
+/******************************************************************************
+ * Tests
+ *****************************************************************************/
+static void
+test_purple_protocol_action_new(void) {
+	PurpleProtocolAction *action = NULL;
+
+	action = purple_protocol_action_new(
+		"label",
+		_test_purple_protocol_action_callback
+	);
+	g_assert_nonnull(action);
+
+	g_assert_cmpstr(action->label, ==, "label");
+	g_assert(action->callback == _test_purple_protocol_action_callback);
+
+	purple_protocol_action_free(action);
+}
+
+static void
+test_purple_protocol_action_copy(void) {
+	PurpleProtocolAction *orig = NULL, *copy = NULL;
+
+	orig = purple_protocol_action_new(
+		"label",
+		_test_purple_protocol_action_callback
+	);
+	g_assert_nonnull(orig);
+
+	copy = purple_protocol_action_copy(orig);
+	purple_protocol_action_free(orig);
+
+	g_assert_cmpstr(copy->label, ==, "label");
+	g_assert(copy->callback == _test_purple_protocol_action_callback);
+
+	purple_protocol_action_free(copy);
+}
+
+/******************************************************************************
+ * Main
+ *****************************************************************************/
+gint
+main(gint argc, gchar **argv) {
+	gint res = 0;
+
+	g_test_init(&argc, &argv, NULL);
+
+	g_test_set_nonfatal_assertions();
+
+	g_test_add_func(
+		"/protocol-action/new",
+		test_purple_protocol_action_new
+	);
+
+	g_test_add_func(
+		"/protocol-action/copy",
+		test_purple_protocol_action_copy
+	);
+
+	res = g_test_run();
+
+	return res;
+}

mercurial