1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-23 21:45:30 +00:00

Added tests for clearing chat sessions on lost connection

This commit is contained in:
James Booth 2015-01-10 01:17:38 +00:00
parent ab7bd6fe5f
commit f180925c3b
6 changed files with 32 additions and 4 deletions

View File

@ -17,8 +17,9 @@ void clears_chat_sessions(void **state)
CommandHelp *help = malloc(sizeof(CommandHelp));
chat_sessions_init();
chat_session_on_recipient_activity("bob@server.org", "laptop");
roster_init();
chat_session_on_recipient_activity("bob@server.org", "laptop");
chat_session_on_recipient_activity("mike@server.org", "work");
will_return(jabber_get_connection_status, JABBER_CONNECTED);
will_return(jabber_get_fulljid, "myjid@myserver.com");
@ -28,7 +29,9 @@ void clears_chat_sessions(void **state)
assert_true(result);
ChatSession *session = chat_session_get("bob@server.org");
assert_null(session);
ChatSession *session1 = chat_session_get("bob@server.org");
ChatSession *session2 = chat_session_get("mike@server.org");
assert_null(session1);
assert_null(session2);
free(help);
}

View File

@ -11,6 +11,7 @@
#include "chat_session.h"
#include "config/preferences.h"
#include "ui/ui.h"
#include "ui/stub_ui.h"
#include "muc.h"
void console_doesnt_show_online_presence_when_set_none(void **state)
@ -194,3 +195,18 @@ void handle_offline_removes_chat_session(void **state)
roster_clear();
chat_sessions_clear();
}
void lost_connection_clears_chat_sessions(void **state)
{
chat_sessions_init();
chat_session_on_recipient_activity("bob@server.org", "laptop");
chat_session_on_recipient_activity("steve@server.org", "mobile");
expect_any_cons_show_error();
handle_lost_connection();
ChatSession *session1 = chat_session_get("bob@server.org");
ChatSession *session2 = chat_session_get("steve@server.org");
assert_null(session1);
assert_null(session2);
}

View File

@ -10,4 +10,5 @@ void handle_message_error_when_recipient_cancel_disables_chat_session(void **sta
void handle_message_error_when_recipient_and_no_type(void **state);
void handle_presence_error_when_no_recipient(void **state);
void handle_presence_error_when_from_recipient(void **state);
void handle_offline_removes_chat_session(void **state);
void handle_offline_removes_chat_session(void **state);
void lost_connection_clears_chat_sessions(void **state);

View File

@ -455,6 +455,7 @@ int main(int argc, char* argv[]) {
unit_test(handle_presence_error_when_no_recipient),
unit_test(handle_presence_error_when_from_recipient),
unit_test(handle_offline_removes_chat_session),
unit_test(lost_connection_clears_chat_sessions),
unit_test(cmd_alias_add_shows_usage_when_no_args),
unit_test(cmd_alias_add_shows_usage_when_no_value),

View File

@ -31,6 +31,12 @@ 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)
{

View File

@ -1,5 +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);