mirror of
https://github.com/profanity-im/profanity.git
synced 2024-09-22 19:45:54 -04:00
Added test to ensure chat sessions cleared on cmd_disconnect
This commit is contained in:
parent
9bd2315d83
commit
ab7bd6fe5f
@ -77,6 +77,7 @@ tests_sources = \
|
||||
tests/test_cmd_statuses.c tests/test_cmd_statuses.h \
|
||||
tests/test_cmd_sub.c tests/test_cmd_sub.h \
|
||||
tests/test_cmd_win.c tests/test_cmd_win.h \
|
||||
tests/test_cmd_disconnect.c tests/test_cmd_disconnect.h \
|
||||
tests/test_common.c tests/test_common.h \
|
||||
tests/test_contact.c tests/test_contact.h \
|
||||
tests/test_form.c tests/test_form.h \
|
||||
|
34
tests/test_cmd_disconnect.c
Normal file
34
tests/test_cmd_disconnect.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "chat_session.h"
|
||||
#include "command/commands.h"
|
||||
#include "xmpp/xmpp.h"
|
||||
#include "roster_list.h"
|
||||
|
||||
#include "ui/stub_ui.h"
|
||||
|
||||
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();
|
||||
|
||||
will_return(jabber_get_connection_status, JABBER_CONNECTED);
|
||||
will_return(jabber_get_fulljid, "myjid@myserver.com");
|
||||
expect_any_cons_show();
|
||||
|
||||
gboolean result = cmd_disconnect(NULL, *help);
|
||||
|
||||
assert_true(result);
|
||||
|
||||
ChatSession *session = chat_session_get("bob@server.org");
|
||||
assert_null(session);
|
||||
free(help);
|
||||
}
|
1
tests/test_cmd_disconnect.h
Normal file
1
tests/test_cmd_disconnect.h
Normal file
@ -0,0 +1 @@
|
||||
void clears_chat_sessions(void **state);
|
@ -33,6 +33,7 @@
|
||||
#include "test_muc.h"
|
||||
#include "test_cmd_roster.h"
|
||||
#include "test_cmd_win.h"
|
||||
#include "test_cmd_disconnect.h"
|
||||
#include "test_form.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
@ -609,6 +610,8 @@ int main(int argc, char* argv[]) {
|
||||
unit_test(remove_text_multi_value_does_nothing_when_doesnt_exist),
|
||||
unit_test(remove_text_multi_value_removes_when_one),
|
||||
unit_test(remove_text_multi_value_removes_when_many),
|
||||
|
||||
unit_test(clears_chat_sessions),
|
||||
};
|
||||
|
||||
return run_tests(all_tests);
|
||||
|
@ -19,6 +19,12 @@ 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)
|
||||
{
|
||||
|
@ -1,4 +1,5 @@
|
||||
void expect_cons_show(char *expected);
|
||||
void expect_any_cons_show(void);
|
||||
void expect_cons_show_error(char *expected);
|
||||
void expect_ui_current_print_line(char *message);
|
||||
void expect_ui_current_print_formatted_line(char show_char, int attrs, char *message);
|
@ -29,7 +29,7 @@ void jabber_shutdown(void) {}
|
||||
void jabber_process_events(void) {}
|
||||
const char * jabber_get_fulljid(void)
|
||||
{
|
||||
return NULL;
|
||||
return (char *)mock();
|
||||
}
|
||||
|
||||
const char * jabber_get_domain(void)
|
||||
|
Loading…
Reference in New Issue
Block a user