From 91d4097df96f1db7ce24920e34dfa4e4aa1f7b96 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 18 Jan 2014 22:50:17 +0000 Subject: [PATCH] Added cmd_connect test for repeated port property --- src/command/commands.c | 5 +++++ tests/test_cmd_connect.c | 19 +++++++++++++++++++ tests/test_cmd_connect.h | 1 + tests/testsuite.c | 1 + 4 files changed, 26 insertions(+) diff --git a/src/command/commands.c b/src/command/commands.c index 6c3f6874..27ecf9c5 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -110,6 +110,11 @@ cmd_connect(gchar **args, struct cmd_help_t help) cons_show(""); return TRUE; } + if (port_set && strcmp("port", opt2) == 0) { + cons_show("Usage: %s", help.usage); + cons_show(""); + return TRUE; + } if (opt2val == NULL) { cons_show("Usage: %s", help.usage); cons_show(""); diff --git a/tests/test_cmd_connect.c b/tests/test_cmd_connect.c index 5f907e26..6e3ab0b5 100644 --- a/tests/test_cmd_connect.c +++ b/tests/test_cmd_connect.c @@ -219,6 +219,25 @@ void cmd_connect_shows_usage_when_server_provided_twice(void **state) free(help); } +void cmd_connect_shows_usage_when_port_provided_twice(void **state) +{ + stub_ui_ask_password(); + mock_cons_show(); + CommandHelp *help = malloc(sizeof(CommandHelp)); + help->usage = "some usage"; + gchar *args[] = { "user@server.org", "port", "1111", "port", "1111", NULL }; + + mock_connection_status(JABBER_DISCONNECTED); + + expect_cons_show("Usage: some usage"); + expect_cons_show(""); + + gboolean result = cmd_connect(args, *help); + assert_true(result); + + free(help); +} + void cmd_connect_when_no_account(void **state) { mock_cons_show(); diff --git a/tests/test_cmd_connect.h b/tests/test_cmd_connect.h index 52f26ce3..34770a5a 100644 --- a/tests/test_cmd_connect.h +++ b/tests/test_cmd_connect.h @@ -22,3 +22,4 @@ void cmd_connect_with_server_when_provided(void **state); void cmd_connect_with_port_when_provided(void **state); void cmd_connect_with_server_and_port_when_provided(void **state); void cmd_connect_shows_usage_when_server_provided_twice(void **state); +void cmd_connect_shows_usage_when_port_provided_twice(void **state); diff --git a/tests/testsuite.c b/tests/testsuite.c index a483846e..04353aa0 100644 --- a/tests/testsuite.c +++ b/tests/testsuite.c @@ -191,6 +191,7 @@ int main(int argc, char* argv[]) { unit_test(cmd_connect_with_port_when_provided), unit_test(cmd_connect_with_server_and_port_when_provided), unit_test(cmd_connect_shows_usage_when_server_provided_twice), + unit_test(cmd_connect_shows_usage_when_port_provided_twice), unit_test(cmd_rooms_shows_message_when_disconnected), unit_test(cmd_rooms_shows_message_when_disconnecting),