about summary refs log tree commit diff stats
path: root/tests/ui
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2013-12-22 22:14:15 +0000
committerJames Booth <boothj5@gmail.com>2013-12-22 22:14:15 +0000
commit5a5b1340aa799ee1d56961123a4770ebadb287bc (patch)
tree0d1d83b050d09082086fcd563ab1c83c6f36c2b9 /tests/ui
parentd56f6dc39b002e16966354b0ad98cf7801260e0c (diff)
downloadprofani-tty-5a5b1340aa799ee1d56961123a4770ebadb287bc.tar.gz
Dynamically load UI functions, fixed tests
Diffstat (limited to 'tests/ui')
-rw-r--r--tests/ui/mock_ui.c324
-rw-r--r--tests/ui/mock_ui.h13
2 files changed, 73 insertions, 264 deletions
diff --git a/tests/ui/mock_ui.c b/tests/ui/mock_ui.c
index c70fbcf4..83119910 100644
--- a/tests/ui/mock_ui.c
+++ b/tests/ui/mock_ui.c
@@ -23,6 +23,7 @@
 #include <glib.h>
 #include <setjmp.h>
 #include <cmocka.h>
+#include <string.h>
 
 #include "ui/ui.h"
 
@@ -43,321 +44,116 @@ void _stub_cons_show(const char * const msg, ...)
 {
 }
 
-void
-mock_cons_show(void)
-{
-    cons_show = _mock_cons_show;
-    
-}
-
-void
-stub_cons_show(void)
-{
-    cons_show = _stub_cons_show;
-}
-
-void
-expect_cons_show(char *output)
-{
-    expect_string(_mock_cons_show, output, output);
-}
-
-void
-expect_cons_show_calls(int n)
+static
+void _mock_cons_show_error(const char * const msg, ...)
 {
-    expect_any_count(_mock_cons_show, output, n);
+    va_list args;
+    va_start(args, msg);
+    vsnprintf(output, sizeof(output), msg, args);
+    check_expected(output);
+    va_end(args);
 }
 
-// ui startup and control
-void ui_init(void) {}
-void ui_load_colours(void) {}
-void ui_refresh(void) {}
-void ui_close(void) {}
-void ui_resize(const int ch, const char * const input,
-    const int size) {}
-
-GSList* ui_get_recipients(void) 
+static
+void _mock_cons_show_account(ProfAccount *account)
 {
-    return (GSList *)mock();
+    check_expected(account);
 }
 
-void ui_handle_special_keys(const wint_t * const ch, const char * const inp,
-    const int size) {}
-void ui_switch_win(const int i) {}
-void ui_next_win(void) {}
-void ui_previous_win(void) {}
-
-unsigned long ui_get_idle_time(void) 
+static
+void _mock_cons_show_account_list(gchar **accounts)
 {
-    return (unsigned long)mock();
+    check_expected(accounts);
 }
 
-void ui_reset_idle_time(void) {}
-void ui_new_chat_win(const char * const to) {}
-void ui_print_error_from_recipient(const char * const from, const char *err_msg) {}
-void ui_print_system_msg_from_recipient(const char * const from, const char *message) {}
-void ui_handle_error_message(const char * const from, const char * const err_msg) {}
-
-gint ui_unread(void)
+static
+char * _mock_ui_ask_password(void)
 {
-    return (gint)mock();
+    return (char *)mock();    
 }
 
-void ui_close_connected_win(int index) {}
-
-int ui_close_all_wins(void)
+static
+char * _stub_ui_ask_password(void)
 {
-    return (int)mock();
+    return NULL;
 }
 
-int ui_close_read_wins(void)
+void
+mock_cons_show(void)
 {
-    return (int)mock();
+    cons_show = _mock_cons_show;
+    
 }
 
-// current window actions
-void ui_close_current(void) {}
-void ui_clear_current(void) {}
-
-win_type_t ui_current_win_type(void)
+void
+mock_cons_show_error(void)
 {
-    return (win_type_t)mock();
+    cons_show_error = _mock_cons_show_error;
 }
 
-int ui_current_win_index(void)
+void
+mock_cons_show_account(void)
 {
-    return (int)mock();
+    cons_show_account = _mock_cons_show_account;
 }
 
-char* ui_current_recipient(void)
+void
+mock_cons_show_account_list(void)
 {
-    return (char *)mock();
+    cons_show_account_list = _mock_cons_show_account_list;
 }
 
-void ui_current_print_line(const char * const msg, ...) {}
-void ui_current_error_line(const char * const msg) {}
-void ui_current_page_off(void) {}
 
-win_type_t ui_win_type(int index)
-{
-    return (win_type_t)mock();
-}
-
-char * ui_recipient(int index)
+void
+mock_ui_ask_password(void)
 {
-    return (char *)mock();
+    ui_ask_password = _mock_ui_ask_password;
 }
 
-void ui_close_win(int index) {}
-
-gboolean ui_win_exists(int index)
+void
+stub_ui_ask_password(void)
 {
-    return (gboolean)mock();
+    ui_ask_password = _stub_ui_ask_password;
 }
 
-int ui_win_unread(int index)
+void
+stub_cons_show(void)
 {
-    return (int)mock();
+    cons_show = _stub_cons_show;
 }
 
-// ui events
-void ui_contact_typing(const char * const from) {}
-void ui_incoming_msg(const char * const from, const char * const message,
-    GTimeVal *tv_stamp, gboolean priv) {}
-void ui_contact_online(const char * const barejid, const char * const resource,
-    const char * const show, const char * const status, GDateTime *last_activity) {}
-void ui_contact_offline(const char * const from, const char * const show,
-    const char * const status) {}
-void ui_disconnected(void) {}
-void ui_recipient_gone(const char * const barejid) {}
-void ui_outgoing_msg(const char * const from, const char * const to,
-    const char * const message) {}
-void ui_room_join(Jid *jid) {}
-void ui_room_roster(const char * const room, GList *roster, const char * const presence) {}
-void ui_room_history(const char * const room_jid, const char * const nick,
-    GTimeVal tv_stamp, const char * const message) {}
-void ui_room_message(const char * const room_jid, const char * const nick,
-    const char * const message) {}
-void ui_room_subject(const char * const room_jid,
-    const char * const subject) {}
-void ui_room_broadcast(const char * const room_jid,
-    const char * const message) {}
-void ui_room_member_offline(const char * const room, const char * const nick) {}
-void ui_room_member_online(const char * const room,
-    const char * const nick, const char * const show, const char * const status) {}
-void ui_room_member_nick_change(const char * const room,
-    const char * const old_nick, const char * const nick) {}
-void ui_room_nick_change(const char * const room, const char * const nick) {}
-void ui_room_member_presence(const char * const room,
-    const char * const nick, const char * const show, const char * const status) {}
-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) {}
-
-// contact status functions
-void ui_status_room(const char * const contact) {}
-void ui_status(void) {}
-void ui_status_private(void) {}
-
-void ui_create_duck_win(void) {}
-void ui_open_duck_win(void) {}
-void ui_duck(const char * const query) {}
-void ui_duck_result(const char * const result) {}
-
-gboolean ui_duck_exists(void)
+void
+expect_cons_show(char *output)
 {
-    return (gboolean)mock();
+    expect_string(_mock_cons_show, output, output);
 }
 
-void ui_tidy_wins(void) {}
-void ui_prune_wins(void) {}
-
-char * ui_ask_password(void)
+void
+expect_cons_show_calls(int n)
 {
-    return (char *)mock();
+    expect_any_count(_mock_cons_show, output, n);
 }
 
-// create windows
-void create_title_bar(void) {}
-void create_status_bar(void) {}
-void create_input_window(void) {}
-
-// title bar actions
-void title_bar_refresh(void) {}
-void title_bar_resize(void) {}
-void title_bar_show(const char * const title) {}
-void title_bar_title(void) {}
-void title_bar_set_status(contact_presence_t status) {}
-void title_bar_set_recipient(const char * const from) {}
-void title_bar_set_typing(gboolean is_typing) {}
-void title_bar_draw(void) {}
-
-// console window actions
-void cons_about(void) {}
-void cons_help(void) {}
-void cons_basic_help(void) {}
-void cons_settings_help(void) {}
-void cons_presence_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_account(ProfAccount *account)
+void
+expect_cons_show_error(char *output)
 {
-    check_expected(account);
+    expect_string(_mock_cons_show_error, output, output);
 }
 
-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, ...)
+void
+expect_cons_show_account(ProfAccount *account)
 {
-    va_list args;
-    va_start(args, cmd);
-    vsnprintf(output, sizeof(output), cmd, args);
-    check_expected(output);
-    va_end(args);
+    expect_memory(_mock_cons_show_account, account, account, sizeof(ProfAccount));
 }
 
-void cons_highlight_show(const char * const cmd) {}
-void cons_show_contacts(GSList * list) {}
-void cons_show_roster(GSList * 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 contact, Resource *resource) {}
-void cons_show_themes(GSList *themes) {}
-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)
+void
+expect_cons_show_account_list(gchar **accounts)
 {
-    check_expected(accounts);
+    expect_memory(_mock_cons_show_account_list, accounts, accounts, sizeof(accounts));
 }
 
-void cons_show_room_list(GSList *room, const char * const conference_node) {}
-void cons_show_bookmarks(const GList *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_beep_setting(void) {}
-void cons_flash_setting(void) {}
-void cons_splash_setting(void) {}
-void cons_vercheck_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_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) {}
-
-// status bar actions
-void status_bar_refresh(void) {}
-void status_bar_resize(void) {}
-void status_bar_clear(void) {}
-void status_bar_clear_message(void) {}
-void status_bar_get_password(void) {}
-void status_bar_print_message(const char * const msg) {}
-void status_bar_inactive(const int win) {}
-void status_bar_active(const int win) {}
-void status_bar_new(const int win) {}
-void status_bar_update_time(void) {}
-void status_bar_set_all_inactive(void) {}
-void status_bar_current(int i) {}
-
-// input window actions
-wint_t inp_get_char(char *input, int *size)
+void
+mock_ui_ask_password_returns(char *password)
 {
-    return (wint_t)mock();
+    will_return(_mock_ui_ask_password, strdup(password));
 }
-void inp_win_reset(void) {}
-void inp_win_resize(const char * input, const int size) {}
-void inp_put_back(void) {}
-void inp_non_block(void) {}
-void inp_block(void) {}
-void inp_get_password(char *passwd) {}
-void inp_replace_input(char *input, const char * const new_input, int *size) {}
-
-void notifier_init(void) {}
-void notifier_uninit(void) {}
-
-void notify_typing(const char * const handle) {}
-void notify_message(const char * const handle, int win) {}
-void notify_room_message(const char * const handle, const char * const room,
-    int win) {}
-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/tests/ui/mock_ui.h b/tests/ui/mock_ui.h
index 76d15614..2833be29 100644
--- a/tests/ui/mock_ui.h
+++ b/tests/ui/mock_ui.h
@@ -11,4 +11,17 @@ void mock_cons_show(void);
 void expect_cons_show(char *output);
 void expect_cons_show_calls(int n);
 
+void mock_cons_show_error(void);
+void expect_cons_show_error(char *output);
+
+void mock_cons_show_account(void);
+void expect_cons_show_account(ProfAccount *account);
+
+void mock_cons_show_account_list(void);
+void expect_cons_show_account_list(gchar **accounts);
+
+void stub_ui_ask_password(void);
+void mock_ui_ask_password(void);
+void mock_ui_ask_password_returns(char *password);
+
 #endif