diff --git a/src/command/commands.c b/src/command/commands.c index a7deb17a..2dcb4a0e 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -65,7 +65,7 @@ cmd_connect(gchar **args, struct cmd_help_t help) jabber_conn_status_t conn_status = jabber_get_connection_status(); if ((conn_status != JABBER_DISCONNECTED) && (conn_status != JABBER_STARTED)) { - cons_show("You are either connected already, or a login is in process."); + ui_already_connected(); result = TRUE; } else { char *user = args[0]; diff --git a/src/ui/core.c b/src/ui/core.c index 3cb05fe8..b3b4eadb 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -544,6 +544,12 @@ _ui_unknown_command(const char * const input) cons_show("Unknown command: %s", input); } +static void +_ui_already_connected(void) +{ + cons_show("You are either connected already, or a login is in process."); +} + static void _ui_disconnected(void) { @@ -1922,4 +1928,5 @@ ui_init_module(void) ui_replace_input = _ui_replace_input; ui_invalid_command_usage = _ui_invalid_command_usage; ui_unknown_command = _ui_unknown_command; + ui_already_connected = _ui_already_connected; } diff --git a/src/ui/ui.h b/src/ui/ui.h index fc689305..7543e6a8 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -161,6 +161,7 @@ void (*ui_replace_input)(char *input, const char * const new_input, int *size); void (*ui_invalid_command_usage)(const char * const usage, void (**setting_func)(void)); void (*ui_unknown_command)(const char * const input); +void (*ui_already_connected)(void); // console window actions void (*cons_show)(const char * const msg, ...); diff --git a/tests/test_cmd_connect.c b/tests/test_cmd_connect.c index 33f49164..76493115 100644 --- a/tests/test_cmd_connect.c +++ b/tests/test_cmd_connect.c @@ -19,13 +19,11 @@ static void test_with_connection_status(jabber_conn_status_t status) { - mock_cons_show(); + stub_ui_already_connected(); CommandHelp *help = malloc(sizeof(CommandHelp)); mock_connection_status(status); - expect_cons_show("You are either connected already, or a login is in process."); - gboolean result = cmd_connect(NULL, *help); assert_true(result); diff --git a/tests/ui/mock_ui.c b/tests/ui/mock_ui.c index 94f8e3c3..0e01be25 100644 --- a/tests/ui/mock_ui.c +++ b/tests/ui/mock_ui.c @@ -82,6 +82,11 @@ char * _stub_ui_ask_password(void) return NULL; } +static +void _stub_ui_already_connected(void) +{ +} + static win_type_t _mock_ui_current_win_type(void) { @@ -258,6 +263,12 @@ stub_cons_show(void) cons_show = _stub_cons_show; } +void +stub_ui_already_connected(void) +{ + ui_already_connected = _stub_ui_already_connected; +} + void stub_ui_handle_recipient_not_found(void) { diff --git a/tests/ui/mock_ui.h b/tests/ui/mock_ui.h index 5b984615..70c9f3b3 100644 --- a/tests/ui/mock_ui.h +++ b/tests/ui/mock_ui.h @@ -66,4 +66,6 @@ void cons_show_roster_expect(GSList *list); void ui_switch_win_expect_and_return(int given_i, gboolean result); -#endif +void stub_ui_already_connected(void); + +#endif \ No newline at end of file