diff options
author | James Booth <boothj5@gmail.com> | 2014-02-02 00:37:37 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-02-02 00:37:37 +0000 |
commit | a8ecbccc9c29a4d9b0ba21fa0a7b6e804f226626 (patch) | |
tree | f373ffe559cbf231f9721023cd70cc7cd80e553e | |
parent | 38d8d8d98410bd6d39d8f90cb94d7e88f3d06727 (diff) | |
download | profani-tty-a8ecbccc9c29a4d9b0ba21fa0a7b6e804f226626.tar.gz |
Added /bookmark remove tests
-rw-r--r-- | src/command/commands.c | 5 | ||||
-rw-r--r-- | tests/test_cmd_bookmark.c | 38 | ||||
-rw-r--r-- | tests/test_cmd_bookmark.h | 2 | ||||
-rw-r--r-- | tests/testsuite.c | 2 | ||||
-rw-r--r-- | tests/xmpp/mock_xmpp.c | 20 | ||||
-rw-r--r-- | tests/xmpp/mock_xmpp.h | 3 |
6 files changed, 70 insertions, 0 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index 3bc628d1..f28bea4c 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1778,6 +1778,11 @@ cmd_bookmark(gchar **args, struct cmd_help_t help) g_string_free(msg, TRUE); } else if (strcmp(cmd, "remove") == 0) { bookmark_remove(jid, autojoin); + if (autojoin) { + cons_show("Autojoin disabled for %s.", jid); + } else { + cons_show("Bookmark removed for %s.", jid); + } } else { cons_show("Usage: %s", help.usage); } diff --git a/tests/test_cmd_bookmark.c b/tests/test_cmd_bookmark.c index 60d48550..fc150dc3 100644 --- a/tests/test_cmd_bookmark.c +++ b/tests/test_cmd_bookmark.c @@ -290,3 +290,41 @@ void cmd_bookmark_add_adds_bookmark_with_room_details_autojoin(void **state) free(help); muc_close(); } + +void cmd_bookmark_remove_removes_bookmark(void **state) +{ + mock_bookmark_remove(); + mock_cons_show(); + char *jid = "room@conf.server"; + CommandHelp *help = malloc(sizeof(CommandHelp)); + gchar *args[] = { "remove", jid, NULL }; + + mock_connection_status(JABBER_CONNECTED); + + expect_bookmark_remove(jid, FALSE); + expect_cons_show("Bookmark removed for room@conf.server."); + + gboolean result = cmd_bookmark(args, *help); + assert_true(result); + + free(help); +} + +void cmd_bookmark_remove_removes_autojoin(void **state) +{ + mock_bookmark_remove(); + mock_cons_show(); + char *jid = "room@conf.server"; + CommandHelp *help = malloc(sizeof(CommandHelp)); + gchar *args[] = { "remove", jid, "autojoin", NULL }; + + mock_connection_status(JABBER_CONNECTED); + + expect_bookmark_remove(jid, TRUE); + expect_cons_show("Autojoin disabled for room@conf.server."); + + 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 index de381c1a..972a93b0 100644 --- a/tests/test_cmd_bookmark.h +++ b/tests/test_cmd_bookmark.h @@ -13,3 +13,5 @@ void cmd_bookmark_add_adds_bookmark_with_jid_autojoin(void **state); void cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin(void **state); void cmd_bookmark_add_adds_bookmark_with_room_details(void **state); void cmd_bookmark_add_adds_bookmark_with_room_details_autojoin(void **state); +void cmd_bookmark_remove_removes_bookmark(void **state); +void cmd_bookmark_remove_removes_autojoin(void **state); diff --git a/tests/testsuite.c b/tests/testsuite.c index 8446461f..673311df 100644 --- a/tests/testsuite.c +++ b/tests/testsuite.c @@ -454,6 +454,8 @@ int main(int argc, char* argv[]) { unit_test(cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin), unit_test(cmd_bookmark_add_adds_bookmark_with_room_details), unit_test(cmd_bookmark_add_adds_bookmark_with_room_details_autojoin), + unit_test(cmd_bookmark_remove_removes_bookmark), + unit_test(cmd_bookmark_remove_removes_autojoin), }; diff --git a/tests/xmpp/mock_xmpp.c b/tests/xmpp/mock_xmpp.c index d6518322..80b1a3e7 100644 --- a/tests/xmpp/mock_xmpp.c +++ b/tests/xmpp/mock_xmpp.c @@ -72,6 +72,13 @@ _mock_bookmark_add(const char *jid, const char *nick, gboolean autojoin) check_expected(autojoin); } +static void +_mock_bookmark_remove(const char *jid, gboolean autojoin) +{ + check_expected(jid); + check_expected(autojoin); +} + void mock_jabber_connect_with_details(void) { @@ -104,6 +111,12 @@ mock_bookmark_add(void) } void +mock_bookmark_remove(void) +{ + bookmark_remove = _mock_bookmark_remove; +} + +void bookmark_get_list_returns(GList *bookmarks) { bookmark_get_list = _mock_bookmark_get_list; @@ -191,3 +204,10 @@ expect_bookmark_add(char *expected_jid, char *expected_nick, gboolean expected_a } expect_value(_mock_bookmark_add, autojoin, expected_autojoin); } + +void +expect_bookmark_remove(char *expected_jid, gboolean expected_autojoin) +{ + expect_string(_mock_bookmark_remove, jid, expected_jid); + expect_value(_mock_bookmark_remove, autojoin, expected_autojoin); +} diff --git a/tests/xmpp/mock_xmpp.h b/tests/xmpp/mock_xmpp.h index b3da50d4..12862d51 100644 --- a/tests/xmpp/mock_xmpp.h +++ b/tests/xmpp/mock_xmpp.h @@ -26,4 +26,7 @@ void bookmark_get_list_returns(GList *bookmarks); void mock_bookmark_add(void); void expect_bookmark_add(char *expected_jid, char *expected_nick, gboolean expected_autojoin); +void mock_bookmark_remove(void); +void expect_bookmark_remove(char *expected_jid, gboolean expected_autojoin); + #endif |