about summary refs log blame commit diff stats
path: root/apps/ex12.subx
blob: 9c67f909f04527f132d21487762a759c2528ac20 (plain) (tree)
an class="o">= FALSE; Bookmark *bm2 = malloc(sizeof(Bookmark)); bm2->barejid = strdup("room2@conf.org"); bm2->nick = strdup("steve"); bm2->autojoin = TRUE; Bookmark *bm3 = malloc(sizeof(Bookmark)); bm3->barejid = strdup("room3@conf.org"); bm3->nick = strdup("dave"); bm3->autojoin = TRUE; Bookmark *bm4 = malloc(sizeof(Bookmark)); bm4->barejid = strdup("room4@conf.org"); bm4->nick = strdup("james"); bm4->autojoin = FALSE; Bookmark *bm5 = malloc(sizeof(Bookmark)); bm5->barejid = strdup("room5@conf.org"); bm5->nick = strdup("mike"); bm5->autojoin = FALSE; bookmarks = g_list_append(bookmarks, bm1); bookmarks = g_list_append(bookmarks, bm2); bookmarks = g_list_append(bookmarks, bm3); bookmarks = g_list_append(bookmarks, bm4); bookmarks = g_list_append(bookmarks, bm5); will_return(connection_get_status, JABBER_CONNECTED); will_return(bookmark_get_list, bookmarks); // TODO - Custom list compare glist_set_cmp((GCompareFunc)_cmp_bookmark); expect_any(cons_show_bookmarks, list); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); free(bm1->barejid); free(bm1->nick); free(bm1); free(bm2->barejid); free(bm2->nick); free(bm2); free(bm3->barejid); free(bm3->nick); free(bm3); free(bm4->barejid); free(bm4->nick); free(bm4); free(bm5->barejid); free(bm5->nick); free(bm5); } void cmd_bookmark_add_shows_message_when_invalid_jid(void **state) { char *jid = "room"; gchar *args[] = { "add", jid, NULL }; ProfWin window; window.type = WIN_CONSOLE; will_return(connection_get_status, JABBER_CONNECTED); expect_cons_show("Invalid room, must be of the form room@domain.tld"); expect_cons_show(""); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); } void cmd_bookmark_add_adds_bookmark_with_jid(void **state) { char *jid = "room@conf.server"; gchar *args[] = { "add", jid, NULL }; ProfWin window; window.type = WIN_CONSOLE; 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 room@conf.server."); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); 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.window, 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.window, 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.window, CMD_BOOKMARK, args); assert_true(result); muc_close(); } void cmd_bookmark_add_adds_bookmark_with_jid_nick(void **state) { char *jid = "room@conf.server"; char *nick = "bob"; gchar *args[] = { "add", jid, "nick", nick, NULL }; ProfWin window; window.type = WIN_CONSOLE; will_return(connection_get_status, JABBER_CONNECTED); expect_string(bookmark_add, jid, jid); expect_string(bookmark_add, nick, nick); expect_any(bookmark_add, password); expect_any(bookmark_add, autojoin_str); will_return(bookmark_add, TRUE); expect_cons_show("Bookmark added for room@conf.server."); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); } void cmd_bookmark_add_adds_bookmark_with_jid_autojoin(void **state) { char *jid = "room@conf.server"; gchar *args[] = { "add", jid, "autojoin", "on", NULL }; ProfWin window; window.type = WIN_CONSOLE; will_return(connection_get_status, JABBER_CONNECTED); expect_string(bookmark_add, jid, jid); expect_any(bookmark_add, nick); expect_any(bookmark_add, password); expect_string(bookmark_add, autojoin_str, "on"); will_return(bookmark_add, TRUE); expect_cons_show("Bookmark added for room@conf.server."); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); } void cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin(void **state) { char *jid = "room@conf.server"; char *nick = "bob"; gchar *args[] = { "add", jid, "nick", nick, "autojoin", "on", NULL }; ProfWin window; window.type = WIN_CONSOLE; will_return(connection_get_status, JABBER_CONNECTED); expect_string(bookmark_add, jid, jid); expect_string(bookmark_add, nick, nick); expect_any(bookmark_add, password); expect_string(bookmark_add, autojoin_str, "on"); will_return(bookmark_add, TRUE); expect_cons_show("Bookmark added for room@conf.server."); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); } void cmd_bookmark_remove_removes_bookmark(void **state) { char *jid = "room@conf.server"; gchar *args[] = { "remove", jid, NULL }; ProfWin window; window.type = WIN_CONSOLE; will_return(connection_get_status, JABBER_CONNECTED); expect_string(bookmark_remove, jid, jid); will_return(bookmark_remove, TRUE); expect_cons_show("Bookmark removed for room@conf.server."); gboolean result = cmd_bookmark(&window, CMD_BOOKMARK, args); assert_true(result); } void cmd_bookmark_remove_shows_message_when_no_bookmark(void **state) { char *jid = "room@conf.server"; gchar *args[] = { "remove", jid, NULL }; ProfWin window; window.type = WIN_CONSOLE; will_return(connection_get_status, JABBER_CONNECTED); expect_any(bookmark_remove, jid); will_return(bookmark_remove, FALSE); expect_cons_show("No bookmark exists for room@conf.server."); 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.window, 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.window, CMD_BOOKMARK, args); assert_true(result); muc_close(); }