1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
#include "prof_cmocka.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "xmpp/xmpp.h"
#include "ui/ui.h"
#include "ui/stub_ui.h"
#include "config/preferences.h"
#include "command/cmd_defs.h"
#include "command/cmd_funcs.h"
#include "command/cmd_ac.h"
#define CMD_ALIAS "/alias"
void
cmd_alias_add_shows_usage_when_no_args(void** state)
{
gchar* args[] = { "add", NULL };
expect_string(cons_bad_cmd_usage, cmd, CMD_ALIAS);
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
void
cmd_alias_add_shows_usage_when_no_value(void** state)
{
gchar* args[] = { "add", "alias", NULL };
expect_string(cons_bad_cmd_usage, cmd, CMD_ALIAS);
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
void
cmd_alias_remove_shows_usage_when_no_args(void** state)
{
gchar* args[] = { "remove", NULL };
expect_string(cons_bad_cmd_usage, cmd, CMD_ALIAS);
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
void
cmd_alias_show_usage_when_invalid_subcmd(void** state)
{
gchar* args[] = { "blah", NULL };
expect_string(cons_bad_cmd_usage, cmd, CMD_ALIAS);
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
void
cmd_alias_add_adds_alias(void** state)
{
gchar* args[] = { "add", "hc", "/help commands", NULL };
expect_cons_show("Command alias added /hc -> /help commands");
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
gchar* returned_val = prefs_get_alias("hc");
assert_string_equal("/help commands", returned_val);
free(returned_val);
}
void
cmd_alias_add_shows_message_when_exists(void** state)
{
gchar* args[] = { "add", "hc", "/help commands", NULL };
prefs_add_alias("hc", "/help commands");
cmd_ac_add("/hc");
expect_cons_show("Command or alias '/hc' already exists.");
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
void
cmd_alias_remove_removes_alias(void** state)
{
gchar* args[] = { "remove", "hn", NULL };
prefs_add_alias("hn", "/help navigation");
expect_cons_show("Command alias removed -> /hn");
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
gchar* returned_val = prefs_get_alias("hn");
assert_null(returned_val);
free(returned_val);
}
void
cmd_alias_remove_shows_message_when_no_alias(void** state)
{
gchar* args[] = { "remove", "hn", NULL };
expect_cons_show("No such command alias /hn");
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
void
cmd_alias_list_shows_all_aliases(void** state)
{
gchar* args[] = { "list", NULL };
prefs_add_alias("vy", "/vercheck on");
prefs_add_alias("q", "/quit");
prefs_add_alias("hn", "/help navigation");
prefs_add_alias("hc", "/help commands");
prefs_add_alias("vn", "/vercheck off");
// write a custom checker to check the correct list is passed
expect_any(cons_show_aliases, aliases);
gboolean result = cmd_alias(NULL, CMD_ALIAS, args);
assert_true(result);
}
|