about summary refs log tree commit diff stats
path: root/tests/unittests/test_callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests/test_callbacks.c')
-rw-r--r--tests/unittests/test_callbacks.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/unittests/test_callbacks.c b/tests/unittests/test_callbacks.c
new file mode 100644
index 00000000..32959aa7
--- /dev/null
+++ b/tests/unittests/test_callbacks.c
@@ -0,0 +1,32 @@
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+#include "plugins/callbacks.h"
+#include "plugins/plugins.h"
+
+void returns_no_commands(void **state)
+{
+    callbacks_init();
+    GList *commands = plugins_get_command_names();
+
+    assert_true(commands == NULL);
+}
+
+void returns_commands(void **state)
+{
+    callbacks_init();
+    PluginCommand *command = malloc(sizeof(PluginCommand));
+    command->command_name = strdup("something");
+    callbacks_add_command("Cool plugin", command);
+
+    GList *commands = plugins_get_command_names();
+    assert_true(g_list_length(commands) == 1);
+
+    char *name = commands->data;
+    assert_string_equal(name, "something");
+}