From 97c5072f56b992d3bf2e4c3550a8010f9638b80a Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 17 May 2015 01:11:03 +0100 Subject: Added stabber testsuite --- .gitignore | 1 + Makefile.am | 53 ++++- stabbertests/proftest.c | 186 ++++++++++++++++ stabbertests/proftest.h | 2 + stabbertests/test_connect.c | 12 ++ stabbertests/test_connect.h | 1 + stabbertests/testsuite.c | 24 +++ stabbertests/ui/stub_ui.c | 511 ++++++++++++++++++++++++++++++++++++++++++++ stabbertests/ui/stub_ui.h | 6 + 9 files changed, 791 insertions(+), 5 deletions(-) create mode 100644 stabbertests/proftest.c create mode 100644 stabbertests/proftest.h create mode 100644 stabbertests/test_connect.c create mode 100644 stabbertests/test_connect.h create mode 100644 stabbertests/testsuite.c create mode 100644 stabbertests/ui/stub_ui.c create mode 100644 stabbertests/ui/stub_ui.h diff --git a/.gitignore b/.gitignore index ba909849..6be27ed5 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ callgrind.out.* gen_docs.sh main_fragment.html toc_fragment.html +stabbertests/testsuite.trs diff --git a/Makefile.am b/Makefile.am index 372b60f3..e3ffc654 100644 --- a/Makefile.am +++ b/Makefile.am @@ -35,7 +35,7 @@ core_sources = \ src/config/preferences.c src/config/preferences.h \ src/config/theme.c src/config/theme.h -tests_sources = \ +test_sources = \ src/contact.c src/contact.h src/common.c \ src/log.h src/profanity.c src/common.h \ src/profanity.h src/chat_session.c \ @@ -94,6 +94,45 @@ tests_sources = \ tests/test_chat_session.c tests/test_chat_session.h \ tests/testsuite.c +stabbertest_sources = \ + src/contact.c src/contact.h src/log.c src/common.c \ + src/log.h src/profanity.c src/common.h \ + src/profanity.h src/chat_session.c \ + src/chat_session.h src/muc.c src/muc.h src/jid.h src/jid.c \ + src/chat_state.h src/chat_state.c \ + src/resource.c src/resource.h \ + src/roster_list.c src/roster_list.h \ + src/xmpp/xmpp.h src/xmpp/capabilities.c src/xmpp/connection.c \ + src/xmpp/iq.c src/xmpp/message.c src/xmpp/presence.c src/xmpp/stanza.c \ + src/xmpp/stanza.h src/xmpp/message.h src/xmpp/iq.h src/xmpp/presence.h \ + src/xmpp/capabilities.h src/xmpp/connection.h \ + src/xmpp/roster.c src/xmpp/roster.h \ + src/xmpp/bookmark.c src/xmpp/bookmark.h \ + src/xmpp/form.c src/xmpp/form.h \ + src/event/server_events.c src/event/server_events.h \ + src/event/client_events.c src/event/client_events.h \ + src/event/ui_events.c src/event/ui_events.h \ + src/ui/ui.h src/ui/window.c src/ui/window.h \ + src/ui/windows.c src/ui/windows.h \ + src/ui/buffer.c src/ui/buffer.h \ + src/ui/statusbar.c src/ui/statusbar.h \ + src/ui/inputwin.c src/ui/inputwin.h \ + src/command/command.h src/command/command.c \ + src/command/commands.h src/command/commands.c \ + src/tools/parser.c \ + src/tools/parser.h \ + src/tools/p_sha1.h src/tools/p_sha1.c \ + src/tools/autocomplete.c src/tools/autocomplete.h \ + src/tools/tinyurl.c src/tools/tinyurl.h \ + src/config/accounts.c src/config/accounts.h \ + src/config/account.c src/config/account.h \ + src/config/preferences.c src/config/preferences.h \ + src/config/theme.c src/config/theme.h \ + stabbertests/ui/stub_ui.c \ + stabbertests/proftest.c stabbertests/proftest.h \ + stabbertests/test_connect.c stabbertests/test_connect.h \ + stabbertests/testsuite.c + main_source = src/main.c git_include = src/gitversion.h @@ -114,12 +153,14 @@ script_sources = bootstrap.sh configure-debug install-all.sh man_sources = docs/profanity.1 if BUILD_OTR -tests_sources += $(otr_test_sources) +test_sources += $(otr_test_sources) if BUILD_OTR3 core_sources += $(otr3_sources) +stabbertest_sources += $(otr3_sources) endif if BUILD_OTR4 core_sources += $(otr4_sources) +stabbertest_sources += $(otr4_sources) endif endif @@ -133,10 +174,12 @@ if INCLUDE_GIT_VERSION BUILT_SOURCES = $(git_include) endif -TESTS = tests/testsuite -check_PROGRAMS = tests/testsuite -tests_testsuite_SOURCES = $(tests_sources) +TESTS = tests/testsuite stabbertests/testsuite +check_PROGRAMS = tests/testsuite stabbertests/testsuite +tests_testsuite_SOURCES = $(test_sources) tests_testsuite_LDADD = -lcmocka +stabbertests_testsuite_SOURCES = $(stabbertest_sources) +stabbertests_testsuite_LDADD = -lcmocka -lstabber man_MANS = $(man_sources) diff --git a/stabbertests/proftest.c b/stabbertests/proftest.c new file mode 100644 index 00000000..d15b9cbf --- /dev/null +++ b/stabbertests/proftest.c @@ -0,0 +1,186 @@ +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#include "config/preferences.h" +#include "log.h" +#include "xmpp/xmpp.h" +#include "command/command.h" +#include "roster_list.h" + +#ifdef HAVE_GIT_VERSION +#include "gitversion.h" +#endif + +#ifdef HAVE_LIBOTR +#include "otr/otr.h" +#endif + + +#define XDG_CONFIG_HOME "./stabbertests/files/xdg_config_home" +#define XDG_DATA_HOME "./stabbertests/files/xdg_data_home" + +gboolean +_create_dir(char *name) +{ + struct stat sb; + + if (stat(name, &sb) != 0) { + if (errno != ENOENT || mkdir(name, S_IRWXU) != 0) { + return FALSE; + } + } else { + if ((sb.st_mode & S_IFDIR) != S_IFDIR) { + return FALSE; + } + } + + return TRUE; +} + +gboolean +_mkdir_recursive(const char *dir) +{ + int i; + gboolean result = TRUE; + + for (i = 1; i <= strlen(dir); i++) { + if (dir[i] == '/' || dir[i] == '\0') { + gchar *next_dir = g_strndup(dir, i); + result = create_dir(next_dir); + g_free(next_dir); + if (!result) { + break; + } + } + } + + return result; +} + +void +_create_config_dir(void) +{ + GString *profanity_dir = g_string_new(XDG_CONFIG_HOME); + g_string_append(profanity_dir, "/profanity"); + + if (!_mkdir_recursive(profanity_dir->str)) { + assert_true(FALSE); + } + + g_string_free(profanity_dir, TRUE); +} + +void +_create_data_dir(void) +{ + GString *profanity_dir = g_string_new(XDG_DATA_HOME); + g_string_append(profanity_dir, "/profanity"); + + if (!_mkdir_recursive(profanity_dir->str)) { + assert_true(FALSE); + } + + g_string_free(profanity_dir, TRUE); +} + +void +_create_chatlogs_dir(void) +{ + GString *chatlogs_dir = g_string_new(XDG_DATA_HOME); + g_string_append(chatlogs_dir, "/profanity/chatlogs"); + + if (!_mkdir_recursive(chatlogs_dir->str)) { + assert_true(FALSE); + } + + g_string_free(chatlogs_dir, TRUE); +} + +void +_create_logs_dir(void) +{ + GString *logs_dir = g_string_new(XDG_DATA_HOME); + g_string_append(logs_dir, "/profanity/logs"); + + if (!_mkdir_recursive(logs_dir->str)) { + assert_true(FALSE); + } + + g_string_free(logs_dir, TRUE); +} + +void +_cleanup_dirs(void) +{ + system("rm -rf ./stabbertests/files"); +} + +void +init_prof_test(void **state) +{ + setenv("XDG_CONFIG_HOME", XDG_CONFIG_HOME, 1); + setenv("XDG_DATA_HOME", XDG_DATA_HOME, 1); + + _create_config_dir(); + _create_data_dir(); + _create_chatlogs_dir(); + _create_logs_dir(); + + log_level_t prof_log_level = log_level_from_string("DEBUG"); + prefs_load(); + log_init(prof_log_level); + if (strcmp(PACKAGE_STATUS, "development") == 0) { +#ifdef HAVE_GIT_VERSION + log_info("Starting Profanity (%sdev.%s.%s)...", PACKAGE_VERSION, PROF_GIT_BRANCH, PROF_GIT_REVISION); +#else + log_info("Starting Profanity (%sdev)...", PACKAGE_VERSION); +#endif + } else { + log_info("Starting Profanity (%s)...", PACKAGE_VERSION); + } + chat_log_init(); + groupchat_log_init(); + accounts_load(); + char *theme = prefs_get_string(PREF_THEME); + theme_init(theme); + prefs_free_string(theme); + jabber_init(FALSE); + cmd_init(); + log_info("Initialising contact list"); + roster_init(); + muc_init(); +#ifdef HAVE_LIBOTR + otr_init(); +#endif +} + +void +close_prof_test(void **state) +{ + jabber_disconnect(); + jabber_shutdown(); + roster_free(); + muc_close(); + caps_close(); +#ifdef HAVE_LIBOTR + otr_shutdown(); +#endif + chat_log_close(); + prefs_close(); + theme_close(); + accounts_close(); + cmd_uninit(); + log_close(); + + _cleanup_dirs(); +} diff --git a/stabbertests/proftest.h b/stabbertests/proftest.h new file mode 100644 index 00000000..d35daae4 --- /dev/null +++ b/stabbertests/proftest.h @@ -0,0 +1,2 @@ +void init_prof_test(void **state); +void close_prof_test(void **state); diff --git a/stabbertests/test_connect.c b/stabbertests/test_connect.c new file mode 100644 index 00000000..1ddc9849 --- /dev/null +++ b/stabbertests/test_connect.c @@ -0,0 +1,12 @@ +#include +#include +#include +#include +#include +#include + +void +connect_with_no_jid(void **state) +{ + assert_true(1); +} diff --git a/stabbertests/test_connect.h b/stabbertests/test_connect.h new file mode 100644 index 00000000..887cec73 --- /dev/null +++ b/stabbertests/test_connect.h @@ -0,0 +1 @@ +void connect_with_no_jid(void **state); diff --git a/stabbertests/testsuite.c b/stabbertests/testsuite.c new file mode 100644 index 00000000..e4a220d7 --- /dev/null +++ b/stabbertests/testsuite.c @@ -0,0 +1,24 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#include "proftest.h" +#include "test_connect.h" + +int main(int argc, char* argv[]) { + + const UnitTest all_tests[] = { + unit_test_setup_teardown(connect_with_no_jid, + init_prof_test, + close_prof_test), + }; + + return run_tests(all_tests); +} diff --git a/stabbertests/ui/stub_ui.c b/stabbertests/ui/stub_ui.c new file mode 100644 index 00000000..b75cbe12 --- /dev/null +++ b/stabbertests/ui/stub_ui.c @@ -0,0 +1,511 @@ +#include +#include + +#include +#include + +#include "ui/window.h" +#include "ui/ui.h" + +#include "tests/ui/stub_ui.h" + +// mock state + +static char output[256]; + +void +expect_cons_show(char *expected) +{ + expect_string(cons_show, output, expected); +} + +void +expect_any_cons_show(void) +{ + expect_any(cons_show, output); +} + +void +expect_cons_show_error(char *expected) +{ + expect_string(cons_show_error, output, expected); +} + +void +expect_any_cons_show_error(void) +{ + expect_any(cons_show_error, output); +} + +void +expect_ui_current_print_line(char *message) +{ + expect_string(ui_current_print_line, output, message); +} + +void +expect_ui_current_print_formatted_line(char show_char, int attrs, char *message) +{ + expect_value(ui_current_print_formatted_line, show_char, show_char); + expect_value(ui_current_print_formatted_line, attrs, attrs); + expect_string(ui_current_print_formatted_line, output, message); +} + +// stubs + +void ui_init(void) {} +void ui_load_colours(void) {} +void ui_update(void) {} +void ui_close(void) {} +void ui_redraw(void) {} +void ui_resize(void) {} +GSList* ui_get_chat_recipients(void) +{ + return NULL; +} + +void ui_switch_win(ProfWin *win) {} + +void ui_gone_secure(const char * const barejid, gboolean trusted) {} +void ui_gone_insecure(const char * const barejid) {} +void ui_trust(const char * const barejid) {} +void ui_untrust(const char * const barejid) {} +void ui_smp_recipient_initiated(const char * const barejid) {} +void ui_smp_recipient_initiated_q(const char * const barejid, const char *question) {} + +void ui_smp_successful(const char * const barejid) {} +void ui_smp_unsuccessful_sender(const char * const barejid) {} +void ui_smp_unsuccessful_receiver(const char * const barejid) {} +void ui_smp_aborted(const char * const barejid) {} + +void ui_smp_answer_success(const char * const barejid) {} +void ui_smp_answer_failure(const char * const barejid) {} + +void ui_otr_authenticating(const char * const barejid) {} +void ui_otr_authetication_waiting(const char * const recipient) {} +void ui_sigwinch_handler(int sig) {} + +unsigned long ui_get_idle_time(void) +{ + return 0; +} + +void ui_reset_idle_time(void) {} +ProfPrivateWin* ui_new_private_win(const char * const fulljid) +{ + return NULL; +} + +ProfChatWin* ui_new_chat_win(const char * const barejid) +{ + return NULL; +} + +void ui_print_system_msg_from_recipient(const char * const barejid, const char *message) {} +gint ui_unread(void) +{ + return 0; +} + +void ui_close_connected_win(int index) {} +int ui_close_all_wins(void) +{ + return 0; +} + +int ui_close_read_wins(void) +{ + return 0; +} + +// current window actions +void ui_clear_current(void) {} + +win_type_t ui_current_win_type(void) +{ + return (win_type_t)mock(); +} + +gboolean ui_current_win_is_otr(void) +{ + return (gboolean)mock(); +} + +ProfChatWin *ui_get_current_chat(void) +{ + return (ProfChatWin*)mock(); +} + +void ui_current_print_line(const char * const msg, ...) +{ + va_list args; + va_start(args, msg); + vsnprintf(output, sizeof(output), msg, args); + check_expected(output); + va_end(args); +} + +void ui_current_print_formatted_line(const char show_char, int attrs, const char * const msg, ...) +{ + check_expected(show_char); + check_expected(attrs); + va_list args; + va_start(args, msg); + vsnprintf(output, sizeof(output), msg, args); + check_expected(output); + va_end(args); +} + +void ui_current_error_line(const char * const msg) {} +void ui_win_error_line(ProfWin *window, const char * const msg) {} + + +win_type_t ui_win_type(int index) +{ + return WIN_CONSOLE; +} + +void ui_close_win(int index) {} + +int ui_win_unread(int index) +{ + return 0; +} + +void ui_page_up(void) {} +void ui_page_down(void) {} +void ui_subwin_page_up(void) {} +void ui_subwin_page_down(void) {} + +char * ui_ask_password(void) +{ + return mock_ptr_type(char *); +} + +void ui_handle_stanza(const char * const msg) {} + +// ui events +void ui_contact_online(char *barejid, Resource *resource, GDateTime *last_activity) +{ + check_expected(barejid); + check_expected(resource); + check_expected(last_activity); +} + +void ui_contact_typing(const char * const barejid, const char * const resource) {} +void ui_incoming_msg(const char * const from, const char * const resource, const char * const message, GTimeVal *tv_stamp) {} +void ui_message_receipt(const char * const barejid, const char * const id) {} + +void ui_incoming_private_msg(const char * const fulljid, const char * const message, GTimeVal *tv_stamp) {} + +void ui_disconnected(void) {} +void ui_recipient_gone(const char * const barejid, const char * const resource) {} + +void ui_outgoing_chat_msg(ProfChatWin *chatwin, const char * const message, char *id) {} +void ui_outgoing_chat_msg_carbon(const char * const barejid, const char * const message) {} +void ui_outgoing_private_msg(ProfPrivateWin *privwin, const char * const message) {} + +void ui_room_join(const char * const roomjid, gboolean focus) {} +void ui_switch_to_room(const char * const roomjid) {} + +void ui_room_role_change(const char * const roomjid, const char * const role, const char * const actor, + const char * const reason) {} +void ui_room_affiliation_change(const char * const roomjid, const char * const affiliation, const char * const actor, + const char * const reason) {} +void ui_room_role_and_affiliation_change(const char * const roomjid, const char * const role, + const char * const affiliation, const char * const actor, const char * const reason) {} +void ui_room_occupant_role_change(const char * const roomjid, const char * const nick, const char * const role, + const char * const actor, const char * const reason) {} +void ui_room_occupant_affiliation_change(const char * const roomjid, const char * const nick, const char * const affiliation, + const char * const actor, const char * const reason) {} +void ui_room_occupant_role_and_affiliation_change(const char * const roomjid, const char * const nick, const char * const role, + const char * const affiliation, const char * const actor, const char * const reason) {} +void ui_room_roster(const char * const roomjid, GList *occupants, const char * const presence) {} +void ui_room_history(const char * const roomjid, const char * const nick, + GTimeVal tv_stamp, const char * const message) {} +void ui_room_message(const char * const roomjid, const char * const nick, + const char * const message) {} +void ui_room_subject(const char * const roomjid, const char * const nick, const char * const subject) {} +void ui_room_requires_config(const char * const roomjid) {} +void ui_room_destroy(const char * const roomjid) {} +void ui_show_room_info(ProfMucWin *mucwin) {} +void ui_show_room_role_list(ProfMucWin *mucwin, muc_role_t role) {} +void ui_show_room_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation) {} +void ui_handle_room_info_error(const char * const roomjid, const char * const error) {} +void ui_show_room_disco_info(const char * const roomjid, GSList *identities, GSList *features) {} +void ui_room_destroyed(const char * const roomjid, const char * const reason, const char * const new_jid, + const char * const password) {} +void ui_room_kicked(const char * const roomjid, const char * const actor, const char * const reason) {} +void ui_room_member_kicked(const char * const roomjid, const char * const nick, const char * const actor, + const char * const reason) {} +void ui_room_banned(const char * const roomjid, const char * const actor, const char * const reason) {} +void ui_room_member_banned(const char * const roomjid, const char * const nick, const char * const actor, + const char * const reason) {} +void ui_leave_room(const char * const roomjid) {} +void ui_room_broadcast(const char * const roomjid, + const char * const message) {} +void ui_room_member_offline(const char * const roomjid, const char * const nick) {} +void ui_room_member_online(const char * const roomjid, const char * const nick, const char * const roles, + const char * const affiliation, const char * const show, const char * const status) {} +void ui_room_member_nick_change(const char * const roomjid, + const char * const old_nick, const char * const nick) {} +void ui_room_nick_change(const char * const roomjid, const char * const nick) {} +void ui_room_member_presence(const char * const roomjid, + const char * const nick, const char * const show, const char * const status) {} +void ui_room_update_occupants(const char * const roomjid) {} +void ui_room_show_occupants(const char * const roomjid) {} +void ui_room_hide_occupants(const char * const roomjid) {} +void ui_show_roster(void) {} +void ui_hide_roster(void) {} +void ui_roster_add(const char * const barejid, const char * const name) {} +void ui_roster_remove(const char * const barejid) {} +void ui_contact_already_in_group(const char * const contact, const char * const group) {} +void ui_contact_not_in_group(const char * const contact, const char * const group) {} +void ui_group_added(const char * const contact, const char * const group) {} +void ui_group_removed(const char * const contact, const char * const group) {} +void ui_chat_win_contact_online(PContact contact, Resource *resource, GDateTime *last_activity) {} +void ui_chat_win_contact_offline(PContact contact, char *resource, char *status) {} +gboolean ui_chat_win_exists(const char * const barejid) +{ + return TRUE; +} + +void ui_contact_offline(char *barejid, char *resource, char *status) {} + +void ui_handle_recipient_not_found(const char * const recipient, const char * const err_msg) +{ + check_expected(recipient); + check_expected(err_msg); +} + +void ui_handle_recipient_error(const char * const recipient, const char * const err_msg) +{ + check_expected(recipient); + check_expected(err_msg); +} + +void ui_handle_error(const char * const err_msg) +{ + check_expected(err_msg); +} + +void ui_clear_win_title(void) {} +void ui_goodbye_title(void) {} +void ui_handle_room_join_error(const char * const roomjid, const char * const err) {} +void ui_handle_room_configuration(const char * const roomjid, DataForm *form) {} +void ui_handle_room_configuration_form_error(const char * const roomjid, const char * const message) {} +void ui_handle_room_config_submit_result(const char * const roomjid) {} +void ui_handle_room_config_submit_result_error(const char * const roomjid, const char * const message) {} +void ui_handle_room_affiliation_list_error(const char * const roomjid, const char * const affiliation, + const char * const error) {} +void ui_handle_room_affiliation_list(const char * const roomjid, const char * const affiliation, GSList *jids) {} +void ui_handle_room_affiliation_set_error(const char * const roomjid, const char * const jid, + const char * const affiliation, const char * const error) {} +void ui_handle_room_role_set_error(const char * const roomjid, const char * const nick, const char * const role, + const char * const error) {} +void ui_handle_room_role_list_error(const char * const roomjid, const char * const role, const char * const error) {} +void ui_handle_room_role_list(const char * const roomjid, const char * const role, GSList *nicks) {} +void ui_handle_room_kick_error(const char * const roomjid, const char * const nick, const char * const error) {} +void ui_show_form(ProfMucConfWin *confwin) {} +void ui_show_form_field(ProfWin *window, DataForm *form, char *tag) {} +void ui_show_form_help(ProfMucConfWin *confwin) {} +void ui_show_form_field_help(ProfMucConfWin *confwin, char *tag) {} +void ui_show_lines(ProfWin *window, const gchar** lines) {} +void ui_redraw_all_room_rosters(void) {} +void ui_show_all_room_rosters(void) {} +void ui_hide_all_room_rosters(void) {} + +void ui_tidy_wins(void) {} +void ui_prune_wins(void) {} +gboolean ui_swap_wins(int source_win, int target_win) +{ + return FALSE; +} + +void ui_auto_away(void) {} +void ui_end_auto_away(void) {} +void ui_titlebar_presence(contact_presence_t presence) {} +void ui_handle_login_account_success(ProfAccount *account) {} +void ui_update_presence(const resource_presence_t resource_presence, + const char * const message, const char * const show) {} +void ui_about(void) {} +void ui_statusbar_new(const int win) {} + +char* ui_readline(void) +{ + return NULL; +} + +void ui_inp_history_append(char *inp) {} + +void ui_input_clear(void) {} +void ui_input_nonblocking(gboolean reset) {} + +void ui_invalid_command_usage(const char * const usage, void (*setting_func)(void)) {} + +void ui_create_xmlconsole_win(void) {} +gboolean ui_xmlconsole_exists(void) +{ + return FALSE; +} + +void ui_open_xmlconsole_win(void) {} + +gboolean ui_win_has_unsaved_form(int num) +{ + return FALSE; +} + +void ui_handle_otr_error(const char * const barejid, const char * const message) {} + +void +ui_write(char *line, int offset) {} + +// console window actions + +void cons_show(const char * const msg, ...) +{ + va_list args; + va_start(args, msg); + vsnprintf(output, sizeof(output), msg, args); + check_expected(output); + va_end(args); +} + +void cons_about(void) {} +void cons_help(void) {} +void cons_navigation_help(void) {} +void cons_prefs(void) {} +void cons_show_ui_prefs(void) {} +void cons_show_desktop_prefs(void) {} +void cons_show_chat_prefs(void) {} +void cons_show_log_prefs(void) {} +void cons_show_presence_prefs(void) {} +void cons_show_connection_prefs(void) {} +void cons_show_otr_prefs(void) {} + +void cons_show_account(ProfAccount *account) +{ + check_expected(account); +} + +void cons_debug(const char * const msg, ...) {} +void cons_show_time(void) {} +void cons_show_word(const char * const word) {} + +void cons_show_error(const char * const cmd, ...) +{ + va_list args; + va_start(args, cmd); + vsnprintf(output, sizeof(output), cmd, args); + check_expected(output); + va_end(args); +} + +void cons_show_contacts(GSList * list) {} + +void cons_show_roster(GSList * list) +{ + check_expected(list); +} + +void cons_show_roster_group(const char * const group, GSList * list) {} +void cons_show_wins(void) {} +void cons_show_status(const char * const barejid) {} +void cons_show_info(PContact pcontact) {} +void cons_show_caps(const char * const fulljid, resource_presence_t presence) {} +void cons_show_themes(GSList *themes) {} + +void cons_show_aliases(GList *aliases) +{ + check_expected(aliases); +} + +void cons_show_login_success(ProfAccount *account) {} +void cons_show_software_version(const char * const jid, + const char * const presence, const char * const name, + const char * const version, const char * const os) {} + +void cons_show_account_list(gchar **accounts) +{ + check_expected(accounts); +} + +void cons_show_room_list(GSList *room, const char * const conference_node) {} + +void cons_show_bookmarks(const GList *list) +{ + check_expected(list); +} + +void cons_show_disco_items(GSList *items, const char * const jid) {} +void cons_show_disco_info(const char *from, GSList *identities, GSList *features) {} +void cons_show_room_invite(const char * const invitor, const char * const room, + const char * const reason) {} +void cons_check_version(gboolean not_available_msg) {} +void cons_show_typing(const char * const barejid) {} +void cons_show_incoming_message(const char * const short_from, const int win_index) {} +void cons_show_room_invites(GSList *invites) {} +void cons_show_received_subs(void) {} +void cons_show_sent_subs(void) {} +void cons_alert(void) {} +void cons_theme_setting(void) {} +void cons_privileges_setting(void) {} +void cons_beep_setting(void) {} +void cons_flash_setting(void) {} +void cons_splash_setting(void) {} +void cons_vercheck_setting(void) {} +void cons_resource_setting(void) {} +void cons_occupants_setting(void) {} +void cons_roster_setting(void) {} +void cons_presence_setting(void) {} +void cons_wrap_setting(void) {} +void cons_time_setting(void) {} +void cons_mouse_setting(void) {} +void cons_statuses_setting(void) {} +void cons_titlebar_setting(void) {} +void cons_notify_setting(void) {} +void cons_states_setting(void) {} +void cons_outtype_setting(void) {} +void cons_intype_setting(void) {} +void cons_gone_setting(void) {} +void cons_history_setting(void) {} +void cons_carbons_setting(void) {} +void cons_receipts_setting(void) {} +void cons_log_setting(void) {} +void cons_chlog_setting(void) {} +void cons_grlog_setting(void) {} +void cons_autoaway_setting(void) {} +void cons_reconnect_setting(void) {} +void cons_autoping_setting(void) {} +void cons_priority_setting(void) {} +void cons_autoconnect_setting(void) {} +void cons_inpblock_setting(void) {} + +void cons_show_contact_online(PContact contact, Resource *resource, GDateTime *last_activity) +{ + check_expected(contact); + check_expected(resource); + check_expected(last_activity); +} + +void cons_show_contact_offline(PContact contact, char *resource, char *status) {} +void cons_theme_colours(void) {} + +// roster window +void rosterwin_roster(void) {} + +// occupants window +void occupantswin_occupants(const char * const room) {} + +// desktop notifier actions +void notifier_uninit(void) {} + +void notify_typing(const char * const handle) {} +void notify_message(ProfWin *window, const char * const name, const char * const text) {} +void notify_room_message(const char * const handle, const char * const room, + int win, const char * const text) {} +void notify_remind(void) {} +void notify_invite(const char * const from, const char * const room, + const char * const reason) {} +void notify_subscription(const char * const from) {} diff --git a/stabbertests/ui/stub_ui.h b/stabbertests/ui/stub_ui.h new file mode 100644 index 00000000..81357a86 --- /dev/null +++ b/stabbertests/ui/stub_ui.h @@ -0,0 +1,6 @@ +void expect_cons_show(char *expected); +void expect_any_cons_show(void); +void expect_cons_show_error(char *expected); +void expect_any_cons_show_error(void); +void expect_ui_current_print_line(char *message); +void expect_ui_current_print_formatted_line(char show_char, int attrs, char *message); \ No newline at end of file -- cgit 1.4.1-2-gfad0