From 652e99fdd8dcd42e75cbacde89aecbe903a368e2 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 1 Feb 2014 16:16:56 +0000 Subject: [PATCH] Added cmd_bookmark tests --- Makefile.am | 1 + src/command/commands.c | 5 +++++ tests/test_cmd_bookmark.c | 30 ++++++++++++++++++++++++++++++ tests/test_cmd_bookmark.h | 1 + tests/testsuite.c | 7 +++++++ 5 files changed, 44 insertions(+) create mode 100644 tests/test_cmd_bookmark.c create mode 100644 tests/test_cmd_bookmark.h diff --git a/Makefile.am b/Makefile.am index 802340e0..148ee61d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,6 +79,7 @@ test_sources = \ tests/test_cmd_sub.c \ tests/test_cmd_alias.c \ tests/test_cmd_statuses.c \ + tests/test_cmd_bookmark.c \ tests/test_history.c \ tests/test_jid.c \ tests/test_parser.c \ diff --git a/src/command/commands.c b/src/command/commands.c index c038c802..bf83be07 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1713,6 +1713,11 @@ cmd_bookmark(gchar **args, struct cmd_help_t help) jabber_conn_status_t conn_status = jabber_get_connection_status(); gchar *cmd = args[0]; + if (cmd == NULL) { + cons_show("Usage: %s", help.usage); + return TRUE; + } + if (conn_status != JABBER_CONNECTED) { cons_show("You are not currenlty connect."); return TRUE; diff --git a/tests/test_cmd_bookmark.c b/tests/test_cmd_bookmark.c new file mode 100644 index 00000000..59f5c02e --- /dev/null +++ b/tests/test_cmd_bookmark.c @@ -0,0 +1,30 @@ +#include +#include +#include +#include +#include +#include +#include + +#include "xmpp/xmpp.h" +#include "xmpp/mock_xmpp.h" + +#include "command/commands.h" + +#include "ui/mock_ui.h" + +void cmd_bookmark_shows_usage_when_no_args(void **state) +{ + mock_cons_show(); + CommandHelp *help = malloc(sizeof(CommandHelp)); + help->usage = "some usage"; + gchar *args[] = { NULL }; + + mock_connection_status(JABBER_CONNECTED); + expect_cons_show("Usage: some usage"); + + gboolean result = cmd_bookmark(args, *help); + assert_true(result); + + free(help); +} diff --git a/tests/test_cmd_bookmark.h b/tests/test_cmd_bookmark.h new file mode 100644 index 00000000..adc6f1a0 --- /dev/null +++ b/tests/test_cmd_bookmark.h @@ -0,0 +1 @@ +void cmd_bookmark_shows_usage_when_no_args(void **state); diff --git a/tests/testsuite.c b/tests/testsuite.c index e611fe42..06b0280b 100644 --- a/tests/testsuite.c +++ b/tests/testsuite.c @@ -23,6 +23,7 @@ #include "test_preferences.h" #include "test_server_events.h" #include "test_cmd_alias.h" +#include "test_cmd_bookmark.h" #include "test_muc.h" #define PROF_RUN_TESTS(name) fprintf(stderr, "\n-> Running %s\n", #name); \ @@ -437,6 +438,11 @@ int main(int argc, char* argv[]) { unit_test_setup_teardown(test_muc_room_is_active, muc_before_test, muc_after_test), }; + const UnitTest cmd_bookmark_tests[] = { + unit_test(cmd_bookmark_shows_usage_when_no_args), + }; + + int bak, bak2, new; fflush(stdout); fflush(stderr); @@ -467,6 +473,7 @@ int main(int argc, char* argv[]) { PROF_RUN_TESTS(cmd_alias_tests); PROF_RUN_TESTS(server_events_tests); PROF_RUN_TESTS(muc_tests); + PROF_RUN_TESTS(cmd_bookmark_tests); fflush(stdout); dup2(bak, 1);