mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
Added tests for clearing chat sessions on lost connection
This commit is contained in:
parent
ab7bd6fe5f
commit
f180925c3b
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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),
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
Loading…
Reference in New Issue
Block a user