diff options
Diffstat (limited to 'tests/unittests/test_cmd_bookmark.c')
-rw-r--r-- | tests/unittests/test_cmd_bookmark.c | 130 |
1 files changed, 129 insertions, 1 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(); +} |