1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Added initial /pgp start checks

This commit is contained in:
James Booth 2015-06-18 01:34:27 +01:00
parent 85cc5ab50d
commit ea99012d9b
4 changed files with 113 additions and 0 deletions

View File

@ -4172,6 +4172,13 @@ cmd_pgp(ProfWin *window, gchar **args, struct cmd_help_t help)
} else { } else {
cons_show("Could not get libgpgme version"); cons_show("Could not get libgpgme version");
} }
} else if (g_strcmp0(args[0], "start") == 0) {
jabber_conn_status_t conn_status = jabber_get_connection_status();
if (conn_status != JABBER_CONNECTED) {
cons_show("You must be connected to start PGP encrpytion.");
} else if (window->type != WIN_CHAT && args[1] == NULL) {
cons_show("You must be in a regular chat window to start PGP encrpytion.");
}
} }
return TRUE; return TRUE;

View File

@ -27,6 +27,92 @@ void cmd_pgp_shows_usage_when_no_args(void **state)
free(help); free(help);
} }
void cmd_pgp_start_shows_message_when_connection(jabber_conn_status_t conn_status)
{
CommandHelp *help = malloc(sizeof(CommandHelp));
help->usage = "Some usage";
gchar *args[] = { "start", NULL };
ProfWin window;
window.type = WIN_CHAT;
will_return(jabber_get_connection_status, conn_status);
expect_cons_show("You must be connected to start PGP encrpytion.");
gboolean result = cmd_pgp(&window, args, *help);
assert_true(result);
free(help);
}
void cmd_pgp_start_shows_message_when_disconnected(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_DISCONNECTED);
}
void cmd_pgp_start_shows_message_when_disconnecting(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_DISCONNECTING);
}
void cmd_pgp_start_shows_message_when_connecting(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_CONNECTING);
}
void cmd_pgp_start_shows_message_when_undefined(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_UNDEFINED);
}
void cmd_pgp_start_shows_message_when_started(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_STARTED);
}
void cmd_pgp_start_shows_message_when_no_arg_in_wintype(win_type_t wintype)
{
CommandHelp *help = malloc(sizeof(CommandHelp));
help->usage = "Some usage";
gchar *args[] = { "start", NULL };
ProfWin window;
window.type = wintype;
will_return(jabber_get_connection_status, JABBER_CONNECTED);
expect_cons_show("You must be in a regular chat window to start PGP encrpytion.");
gboolean result = cmd_pgp(&window, args, *help);
assert_true(result);
free(help);
}
void cmd_pgp_start_shows_message_when_no_arg_in_console(void **state)
{
cmd_pgp_start_shows_message_when_no_arg_in_wintype(WIN_CONSOLE);
}
void cmd_pgp_start_shows_message_when_no_arg_in_muc(void **state)
{
cmd_pgp_start_shows_message_when_no_arg_in_wintype(WIN_MUC);
}
void cmd_pgp_start_shows_message_when_no_arg_in_mucconf(void **state)
{
cmd_pgp_start_shows_message_when_no_arg_in_wintype(WIN_MUC_CONFIG);
}
void cmd_pgp_start_shows_message_when_no_arg_in_private(void **state)
{
cmd_pgp_start_shows_message_when_no_arg_in_wintype(WIN_PRIVATE);
}
void cmd_pgp_start_shows_message_when_no_arg_in_xmlconsole(void **state)
{
cmd_pgp_start_shows_message_when_no_arg_in_wintype(WIN_XML);
}
#else #else
void cmd_pgp_shows_message_when_pgp_unsupported(void **state) void cmd_pgp_shows_message_when_pgp_unsupported(void **state)
{ {

View File

@ -2,6 +2,16 @@
#ifdef HAVE_LIBGPGME #ifdef HAVE_LIBGPGME
void cmd_pgp_shows_usage_when_no_args(void **state); void cmd_pgp_shows_usage_when_no_args(void **state);
void cmd_pgp_start_shows_message_when_disconnected(void **state);
void cmd_pgp_start_shows_message_when_disconnecting(void **state);
void cmd_pgp_start_shows_message_when_connecting(void **state);
void cmd_pgp_start_shows_message_when_undefined(void **state);
void cmd_pgp_start_shows_message_when_started(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_console(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_muc(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_mucconf(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_private(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_xmlconsole(void **state);
#else #else
void cmd_pgp_shows_message_when_pgp_unsupported(void **state); void cmd_pgp_shows_message_when_pgp_unsupported(void **state);
#endif #endif

View File

@ -542,6 +542,16 @@ int main(int argc, char* argv[]) {
#ifdef HAVE_LIBGPGME #ifdef HAVE_LIBGPGME
unit_test(cmd_pgp_shows_usage_when_no_args), unit_test(cmd_pgp_shows_usage_when_no_args),
unit_test(cmd_pgp_start_shows_message_when_disconnected),
unit_test(cmd_pgp_start_shows_message_when_disconnecting),
unit_test(cmd_pgp_start_shows_message_when_connecting),
unit_test(cmd_pgp_start_shows_message_when_undefined),
unit_test(cmd_pgp_start_shows_message_when_started),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_console),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_muc),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_mucconf),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_private),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_xmlconsole),
#else #else
unit_test(cmd_pgp_shows_message_when_pgp_unsupported), unit_test(cmd_pgp_shows_message_when_pgp_unsupported),
#endif #endif