diff options
Diffstat (limited to 'tests/unittests')
-rw-r--r-- | tests/unittests/test_cmd_bookmark.c | 130 | ||||
-rw-r--r-- | tests/unittests/test_cmd_bookmark.h | 5 | ||||
-rw-r--r-- | tests/unittests/test_cmd_rooms.c | 34 | ||||
-rw-r--r-- | tests/unittests/test_cmd_rooms.h | 3 | ||||
-rw-r--r-- | tests/unittests/ui/stub_ui.c | 11 | ||||
-rw-r--r-- | tests/unittests/unittests.c | 8 | ||||
-rw-r--r-- | tests/unittests/xmpp/stub_xmpp.c | 4 |
7 files changed, 187 insertions, 8 deletions
diff --git a/tests/unittests/test_cmd_bookmark.c b/tests/unittests/test_cmd_bookmark.c index 901d31f8..fb1f7996 100644 --- a/tests/unittests/test_cmd_bookmark.c +++ b/tests/unittests/test_cmd_bookmark.c @@ -24,10 +24,12 @@ static void test_with_connection_status(jabber_conn_status_t status) { + ProfWin window; + window.type = WIN_CONSOLE; will_return(connection_get_status, status); expect_cons_show("You are not currently connected."); - gboolean result = cmd_bookmark(NULL, CMD_BOOKMARK, NULL); + gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, NULL); assert_true(result); } @@ -165,6 +167,85 @@ void cmd_bookmark_add_adds_bookmark_with_jid(void **state) assert_true(result); } +void cmd_bookmark_uses_roomjid_in_room(void **state) +{ + muc_init(); + + gchar *args[] = { NULL }; + ProfMucWin muc_win; + muc_win.window.type = WIN_MUC; + muc_win.memcheck = PROFMUCWIN_MEMCHECK; + muc_win.roomjid = "room@conf.server"; + + will_return(connection_get_status, JABBER_CONNECTED); + + expect_string(bookmark_add, jid, muc_win.roomjid); + expect_any(bookmark_add, nick); + expect_any(bookmark_add, password); + expect_any(bookmark_add, autojoin_str); + will_return(bookmark_add, TRUE); + + expect_win_println("Bookmark added for room@conf.server."); + + gboolean result = cmd_bookmark(&muc_win, CMD_BOOKMARK, args); + assert_true(result); + + muc_close(); +} + +void cmd_bookmark_add_uses_roomjid_in_room(void **state) +{ + muc_init(); + + gchar *args[] = { "add", NULL }; + ProfMucWin muc_win; + muc_win.window.type = WIN_MUC; + muc_win.memcheck = PROFMUCWIN_MEMCHECK; + muc_win.roomjid = "room@conf.server"; + + will_return(connection_get_status, JABBER_CONNECTED); + + expect_string(bookmark_add, jid, muc_win.roomjid); + expect_any(bookmark_add, nick); + expect_any(bookmark_add, password); + expect_any(bookmark_add, autojoin_str); + will_return(bookmark_add, TRUE); + + expect_win_println("Bookmark added for room@conf.server."); + + gboolean result = cmd_bookmark(&muc_win, CMD_BOOKMARK, args); + assert_true(result); + + muc_close(); +} + +void cmd_bookmark_add_uses_supplied_jid_in_room(void **state) +{ + muc_init(); + + char *jid = "room1@conf.server"; + gchar *args[] = { "add", jid, NULL }; + ProfMucWin muc_win; + muc_win.window.type = WIN_MUC; + muc_win.memcheck = PROFMUCWIN_MEMCHECK; + muc_win.roomjid = "room2@conf.server"; + + will_return(connection_get_status, JABBER_CONNECTED); + + expect_string(bookmark_add, jid, jid); + expect_any(bookmark_add, nick); + expect_any(bookmark_add, password); + expect_any(bookmark_add, autojoin_str); + will_return(bookmark_add, TRUE); + + expect_cons_show("Bookmark added for room1@conf.server."); + + gboolean result = cmd_bookmark(&muc_win, CMD_BOOKMARK, args); + assert_true(result); + + muc_close(); +} + void cmd_bookmark_add_adds_bookmark_with_jid_nick(void **state) { char *jid = "room@conf.server"; @@ -265,3 +346,50 @@ void cmd_bookmark_remove_shows_message_when_no_bookmark(void **state) gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); } + +void cmd_bookmark_remove_uses_roomjid_in_room(void **state) +{ + muc_init(); + + gchar *args[] = { "remove", NULL }; + ProfMucWin muc_win; + muc_win.window.type = WIN_MUC; + muc_win.memcheck = PROFMUCWIN_MEMCHECK; + muc_win.roomjid = "room@conf.server"; + + will_return(connection_get_status, JABBER_CONNECTED); + + expect_string(bookmark_remove, jid, muc_win.roomjid); + will_return(bookmark_remove, TRUE); + + expect_win_println("Bookmark removed for room@conf.server."); + + gboolean result = cmd_bookmark(&muc_win, CMD_BOOKMARK, args); + assert_true(result); + + muc_close(); +} + +void cmd_bookmark_remove_uses_supplied_jid_in_room(void **state) +{ + muc_init(); + + char *jid = "room1@conf.server"; + gchar *args[] = { "remove", jid, NULL }; + ProfMucWin muc_win; + muc_win.window.type = WIN_MUC; + muc_win.memcheck = PROFMUCWIN_MEMCHECK; + muc_win.roomjid = "room2@conf.server"; + + will_return(connection_get_status, JABBER_CONNECTED); + + expect_string(bookmark_remove, jid, jid); + will_return(bookmark_remove, TRUE); + + expect_cons_show("Bookmark removed for room1@conf.server."); + + gboolean result = cmd_bookmark(&muc_win, CMD_BOOKMARK, args); + assert_true(result); + + muc_close(); +} diff --git a/tests/unittests/test_cmd_bookmark.h b/tests/unittests/test_cmd_bookmark.h index abbdbe98..195882b5 100644 --- a/tests/unittests/test_cmd_bookmark.h +++ b/tests/unittests/test_cmd_bookmark.h @@ -6,6 +6,11 @@ void cmd_bookmark_shows_usage_when_no_args(void **state); void cmd_bookmark_list_shows_bookmarks(void **state); void cmd_bookmark_add_shows_message_when_invalid_jid(void **state); void cmd_bookmark_add_adds_bookmark_with_jid(void **state); +void cmd_bookmark_uses_roomjid_in_room(void **state); +void cmd_bookmark_add_uses_roomjid_in_room(void **state); +void cmd_bookmark_add_uses_supplied_jid_in_room(void **state); +void cmd_bookmark_remove_uses_roomjid_in_room(void **state); +void cmd_bookmark_remove_uses_supplied_jid_in_room(void **state); void cmd_bookmark_add_adds_bookmark_with_jid_nick(void **state); void cmd_bookmark_add_adds_bookmark_with_jid_autojoin(void **state); void cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin(void **state); diff --git a/tests/unittests/test_cmd_rooms.c b/tests/unittests/test_cmd_rooms.c index 2cb6be6b..b04e5618 100644 --- a/tests/unittests/test_cmd_rooms.c +++ b/tests/unittests/test_cmd_rooms.c @@ -53,19 +53,49 @@ void cmd_rooms_uses_account_default_when_no_arg(void **state) expect_any(accounts_get_account, name); will_return(accounts_get_account, account); + expect_cons_show(""); + expect_cons_show("Room list request sent: default_conf_server"); + expect_string(iq_room_list_request, conferencejid, "default_conf_server"); + expect_any(iq_room_list_request, filter); gboolean result = cmd_rooms(NULL, CMD_ROOMS, args); assert_true(result); } -void cmd_rooms_arg_used_when_passed(void **state) +void cmd_rooms_service_arg_used_when_passed(void **state) { - gchar *args[] = { "conf_server_arg" }; + gchar *args[] = { "service", "conf_server_arg", NULL }; will_return(connection_get_status, JABBER_CONNECTED); + expect_cons_show(""); + expect_cons_show("Room list request sent: conf_server_arg"); + expect_string(iq_room_list_request, conferencejid, "conf_server_arg"); + expect_any(iq_room_list_request, filter); + + gboolean result = cmd_rooms(NULL, CMD_ROOMS, args); + assert_true(result); +} + +void cmd_rooms_filter_arg_used_when_passed(void **state) +{ + gchar *args[] = { "filter", "text", NULL }; + + ProfAccount *account = account_new("testaccount", NULL, NULL, NULL, TRUE, NULL, 0, NULL, NULL, NULL, + 0, 0, 0, 0, 0, strdup("default_conf_server"), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + + will_return(connection_get_status, JABBER_CONNECTED); + will_return(session_get_account_name, "account_name"); + expect_any(accounts_get_account, name); + will_return(accounts_get_account, account); + + expect_cons_show(""); + expect_cons_show("Room list request sent: default_conf_server, filter: 'text'"); + + expect_any(iq_room_list_request, conferencejid); + expect_string(iq_room_list_request, filter, "text"); gboolean result = cmd_rooms(NULL, CMD_ROOMS, args); assert_true(result); diff --git a/tests/unittests/test_cmd_rooms.h b/tests/unittests/test_cmd_rooms.h index 1b13cf07..4d656948 100644 --- a/tests/unittests/test_cmd_rooms.h +++ b/tests/unittests/test_cmd_rooms.h @@ -3,4 +3,5 @@ void cmd_rooms_shows_message_when_disconnecting(void **state); void cmd_rooms_shows_message_when_connecting(void **state); void cmd_rooms_shows_message_when_undefined(void **state); void cmd_rooms_uses_account_default_when_no_arg(void **state); -void cmd_rooms_arg_used_when_passed(void **state); +void cmd_rooms_service_arg_used_when_passed(void **state); +void cmd_rooms_filter_arg_used_when_passed(void **state); diff --git a/tests/unittests/ui/stub_ui.c b/tests/unittests/ui/stub_ui.c index f2d8c5d7..420653e1 100644 --- a/tests/unittests/ui/stub_ui.c +++ b/tests/unittests/ui/stub_ui.c @@ -445,8 +445,10 @@ void cons_autoaway_setting(void) {} void cons_reconnect_setting(void) {} void cons_autoping_setting(void) {} void cons_autoconnect_setting(void) {} +void cons_rooms_cache_setting(void) {} void cons_inpblock_setting(void) {} void cons_winpos_setting(void) {} +void cons_statusbar_setting(void) {} void cons_tray_setting(void) {} void cons_show_contact_online(PContact contact, Resource *resource, GDateTime *last_activity) @@ -465,8 +467,8 @@ void title_bar_set_presence(contact_presence_t presence) {} // status bar void status_bar_inactive(const int win) {} -void status_bar_active(const int win) {} -void status_bar_new(const int win) {} +void status_bar_active(const int win, win_type_t type, char *identifier) {} +void status_bar_new(const int win, win_type_t type, char *identifier) {} void status_bar_set_all_inactive(void) {} // roster window @@ -505,6 +507,11 @@ ProfWin* win_create_plugin(const char *const plugin_name, const char * const tag return NULL; } +char* win_get_tab_identifier(ProfWin *window) +{ + return NULL; +} + void win_update_virtual(ProfWin *window) {} void win_free(ProfWin *window) {} gboolean win_notify_remind(ProfWin *window) diff --git a/tests/unittests/unittests.c b/tests/unittests/unittests.c index 41f99424..4e3e149e 100644 --- a/tests/unittests/unittests.c +++ b/tests/unittests/unittests.c @@ -313,7 +313,8 @@ int main(int argc, char* argv[]) { unit_test(cmd_rooms_shows_message_when_disconnecting), unit_test(cmd_rooms_shows_message_when_connecting), unit_test(cmd_rooms_uses_account_default_when_no_arg), - unit_test(cmd_rooms_arg_used_when_passed), + unit_test(cmd_rooms_service_arg_used_when_passed), + unit_test(cmd_rooms_filter_arg_used_when_passed), unit_test(cmd_account_shows_usage_when_not_connected_and_no_args), unit_test(cmd_account_shows_account_when_connected_and_no_args), @@ -492,6 +493,11 @@ int main(int argc, char* argv[]) { unit_test(cmd_bookmark_list_shows_bookmarks), unit_test(cmd_bookmark_add_shows_message_when_invalid_jid), unit_test(cmd_bookmark_add_adds_bookmark_with_jid), + unit_test(cmd_bookmark_uses_roomjid_in_room), + unit_test(cmd_bookmark_add_uses_roomjid_in_room), + unit_test(cmd_bookmark_add_uses_supplied_jid_in_room), + unit_test(cmd_bookmark_remove_uses_roomjid_in_room), + unit_test(cmd_bookmark_remove_uses_supplied_jid_in_room), unit_test(cmd_bookmark_add_adds_bookmark_with_jid_nick), unit_test(cmd_bookmark_add_adds_bookmark_with_jid_autojoin), unit_test(cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin), diff --git a/tests/unittests/xmpp/stub_xmpp.c b/tests/unittests/xmpp/stub_xmpp.c index 630c0b19..45db6649 100644 --- a/tests/unittests/xmpp/stub_xmpp.c +++ b/tests/unittests/xmpp/stub_xmpp.c @@ -172,9 +172,10 @@ void iq_disable_carbons() {}; void iq_enable_carbons() {}; void iq_send_software_version(const char * const fulljid) {} -void iq_room_list_request(gchar *conferencejid) +void iq_room_list_request(gchar *conferencejid, gchar *filter) { check_expected(conferencejid); + check_expected(filter); } void iq_disco_info_request(gchar *jid) {} @@ -203,6 +204,7 @@ void iq_room_role_set(const char * const room, const char * const nick, char *ro void iq_room_role_list(const char * const room, char *role) {} void iq_last_activity_request(gchar *jid) {} void iq_autoping_check(void) {} +void iq_rooms_cache_clear(void) {} // caps functions void caps_add_feature(char *feature) {} |