diff options
Diffstat (limited to 'tests/unittests/test_callbacks.c')
-rw-r--r-- | tests/unittests/test_callbacks.c | 32 |
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"); +} |