about summary refs log tree commit diff stats
path: root/tests/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests')
-rw-r--r--tests/unittests/test_cmd_disconnect.c2
-rw-r--r--tests/unittests/test_cmd_roster.c24
-rw-r--r--tests/unittests/test_roster_list.c160
-rw-r--r--tests/unittests/test_server_events.c20
-rw-r--r--tests/unittests/ui/stub_ui.c2
5 files changed, 90 insertions, 118 deletions
diff --git a/tests/unittests/test_cmd_disconnect.c b/tests/unittests/test_cmd_disconnect.c
index 7ea5b53a..90c99b3c 100644
--- a/tests/unittests/test_cmd_disconnect.c
+++ b/tests/unittests/test_cmd_disconnect.c
@@ -17,7 +17,7 @@
 void clears_chat_sessions(void **state)
 {
     chat_sessions_init();
-    roster_init();
+    roster_create();
     chat_session_recipient_active("bob@server.org", "laptop", FALSE);
     chat_session_recipient_active("mike@server.org", "work", FALSE);
 
diff --git a/tests/unittests/test_cmd_roster.c b/tests/unittests/test_cmd_roster.c
index edd6a864..8874bdb2 100644
--- a/tests/unittests/test_cmd_roster.c
+++ b/tests/unittests/test_cmd_roster.c
@@ -53,7 +53,7 @@ void cmd_roster_shows_roster_when_no_args(void **state)
 
     will_return(jabber_get_connection_status, JABBER_CONNECTED);
 
-    roster_init();
+    roster_create();
     roster_add("bob@server.org", "bob", NULL, "both", FALSE);
     GSList *roster = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
 
@@ -62,7 +62,7 @@ void cmd_roster_shows_roster_when_no_args(void **state)
     gboolean result = cmd_roster(NULL, CMD_ROSTER, args);
     assert_true(result);
 
-    roster_free();
+    roster_destroy();
 }
 
 void cmd_roster_add_shows_message_when_no_jid(void **state)
@@ -145,7 +145,7 @@ void cmd_roster_nick_shows_message_when_no_contact_exists(void **state)
 {
     gchar *args[] = { "nick", "bob@server.org", "bobster", NULL };
 
-    roster_init();
+    roster_create();
 
     will_return(jabber_get_connection_status, JABBER_CONNECTED);
 
@@ -154,7 +154,7 @@ void cmd_roster_nick_shows_message_when_no_contact_exists(void **state)
     gboolean result = cmd_roster(NULL, CMD_ROSTER, args);
     assert_true(result);
 
-    roster_free();
+    roster_destroy();
 }
 
 void cmd_roster_nick_sends_name_change_request(void **state)
@@ -163,9 +163,9 @@ void cmd_roster_nick_sends_name_change_request(void **state)
     char *nick = "bobster";
     gchar *args[] = { "nick", jid, nick, NULL };
 
-    roster_init();
+    roster_create();
     GSList *groups = NULL;
-    groups = g_slist_append(groups, "group1");
+    groups = g_slist_append(groups, strdup("group1"));
     roster_add(jid, "bob", groups, "both", FALSE);
 
     will_return(jabber_get_connection_status, JABBER_CONNECTED);
@@ -181,7 +181,7 @@ void cmd_roster_nick_sends_name_change_request(void **state)
 
     PContact contact = roster_get_contact(jid);
     assert_string_equal(p_contact_name(contact), nick);
-    roster_free();
+    roster_destroy();
 }
 
 void cmd_roster_clearnick_shows_message_when_no_jid(void **state)
@@ -200,7 +200,7 @@ void cmd_roster_clearnick_shows_message_when_no_contact_exists(void **state)
 {
     gchar *args[] = { "clearnick", "bob@server.org", NULL };
 
-    roster_init();
+    roster_create();
 
     will_return(jabber_get_connection_status, JABBER_CONNECTED);
 
@@ -209,7 +209,7 @@ void cmd_roster_clearnick_shows_message_when_no_contact_exists(void **state)
     gboolean result = cmd_roster(NULL, CMD_ROSTER, args);
     assert_true(result);
 
-    roster_free();
+    roster_destroy();
 }
 
 void cmd_roster_clearnick_sends_name_change_request_with_empty_nick(void **state)
@@ -217,9 +217,9 @@ void cmd_roster_clearnick_sends_name_change_request_with_empty_nick(void **state
     char *jid = "bob@server.org";
     gchar *args[] = { "clearnick", jid, NULL };
 
-    roster_init();
+    roster_create();
     GSList *groups = NULL;
-    groups = g_slist_append(groups, "group1");
+    groups = g_slist_append(groups, strdup("group1"));
     roster_add(jid, "bob", groups, "both", FALSE);
 
     will_return(jabber_get_connection_status, JABBER_CONNECTED);
@@ -236,5 +236,5 @@ void cmd_roster_clearnick_sends_name_change_request_with_empty_nick(void **state
     PContact contact = roster_get_contact(jid);
     assert_null(p_contact_name(contact));
 
-    roster_free();
+    roster_destroy();
 }
diff --git a/tests/unittests/test_roster_list.c b/tests/unittests/test_roster_list.c
index 26f23672..786f3b97 100644
--- a/tests/unittests/test_roster_list.c
+++ b/tests/unittests/test_roster_list.c
@@ -11,50 +11,46 @@
 
 void empty_list_when_none_added(void **state)
 {
-    roster_init();
+    roster_create();
     GSList *list = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
     assert_null(list);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void contains_one_element(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     GSList *list = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
     assert_int_equal(1, g_slist_length(list));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void first_element_correct(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     GSList *list = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
     PContact james = list->data;
 
     assert_string_equal("James", p_contact_barejid(james));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void contains_two_elements(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     GSList *list = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
 
     assert_int_equal(2, g_slist_length(list));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void first_and_second_elements_correct(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     GSList *list = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
@@ -64,26 +60,24 @@ void first_and_second_elements_correct(void **state)
 
     assert_string_equal("Dave", p_contact_barejid(first));
     assert_string_equal("James", p_contact_barejid(second));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void contains_three_elements(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     GSList *list = roster_get_contacts(ROSTER_ORD_NAME, TRUE);
 
     assert_int_equal(3, g_slist_length(list));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void first_three_elements_correct(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("Bob", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("James", NULL, NULL, NULL, FALSE);
@@ -95,13 +89,12 @@ void first_three_elements_correct(void **state)
     assert_string_equal("James", p_contact_barejid(james));
     assert_string_equal("Dave", p_contact_barejid(dave));
     assert_string_equal("Bob", p_contact_barejid(bob));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_twice_at_beginning_adds_once(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
@@ -115,13 +108,12 @@ void add_twice_at_beginning_adds_once(void **state)
     assert_string_equal("Bob", p_contact_barejid(first));
     assert_string_equal("Dave", p_contact_barejid(second));
     assert_string_equal("James", p_contact_barejid(third));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_twice_in_middle_adds_once(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("James", NULL, NULL, NULL, FALSE);
@@ -135,13 +127,12 @@ void add_twice_in_middle_adds_once(void **state)
     assert_string_equal("Bob", p_contact_barejid(first));
     assert_string_equal("Dave", p_contact_barejid(second));
     assert_string_equal("James", p_contact_barejid(third));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_twice_at_end_adds_once(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
@@ -155,13 +146,12 @@ void add_twice_at_end_adds_once(void **state)
     assert_string_equal("Bob", p_contact_barejid(first));
     assert_string_equal("Dave", p_contact_barejid(second));
     assert_string_equal("James", p_contact_barejid(third));
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_first_exists(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
@@ -172,13 +162,12 @@ void find_first_exists(void **state)
     assert_string_equal("Bob", result);
     free(result);
     free(search);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_second_exists(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
@@ -186,13 +175,12 @@ void find_second_exists(void **state)
     char *result = roster_contact_autocomplete("Dav");
     assert_string_equal("Dave", result);
     free(result);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_third_exists(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
@@ -200,35 +188,32 @@ void find_third_exists(void **state)
     char *result = roster_contact_autocomplete("Ja");
     assert_string_equal("James", result);
     free(result);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_returns_null(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Dave", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
 
     char *result = roster_contact_autocomplete("Mike");
     assert_null(result);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_on_empty_returns_null(void **state)
 {
-    roster_init();
+    roster_create();
     char *result = roster_contact_autocomplete("James");
     assert_null(result);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_twice_returns_second_when_two_match(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Jamie", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
@@ -238,13 +223,12 @@ void find_twice_returns_second_when_two_match(void **state)
     assert_string_equal("Jamie", result2);
     free(result1);
     free(result2);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_five_times_finds_fifth(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("Jama", NULL, NULL, NULL, FALSE);
     roster_add("Jamb", NULL, NULL, NULL, FALSE);
     roster_add("Mike", NULL, NULL, NULL, FALSE);
@@ -267,13 +251,12 @@ void find_five_times_finds_fifth(void **state)
     free(result3);
     free(result4);
     free(result5);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void find_twice_returns_first_when_two_match_and_reset(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("James", NULL, NULL, NULL, FALSE);
     roster_add("Jamie", NULL, NULL, NULL, FALSE);
     roster_add("Bob", NULL, NULL, NULL, FALSE);
@@ -284,26 +267,24 @@ void find_twice_returns_first_when_two_match_and_reset(void **state)
     assert_string_equal("James", result2);
     free(result1);
     free(result2);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_no_group(void **state)
 {
-    roster_init();
+    roster_create();
     roster_add("person@server.org", NULL, NULL, NULL, FALSE);
 
     GSList *groups_res = roster_get_groups();
     assert_int_equal(g_slist_length(groups_res), 0);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_group(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups = NULL;
     groups = g_slist_append(groups, strdup("friends"));
@@ -317,13 +298,12 @@ void add_contact_with_group(void **state)
     assert_string_equal(found->data, "friends");
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_two_groups(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups = NULL;
     groups = g_slist_append(groups, strdup("friends"));
@@ -341,13 +321,12 @@ void add_contact_with_two_groups(void **state)
     assert_string_equal(found->data, "work");
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_three_groups(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups = NULL;
     groups = g_slist_append(groups, strdup("friends"));
@@ -369,13 +348,12 @@ void add_contact_with_three_groups(void **state)
     assert_string_equal(found->data, "stuff");
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_three_groups_update_adding_two(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -411,13 +389,12 @@ void add_contact_with_three_groups_update_adding_two(void **state)
     assert_string_equal(found->data, "people");
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_three_groups_update_removing_one(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -441,13 +418,12 @@ void add_contact_with_three_groups_update_removing_one(void **state)
     assert_string_equal(found->data, "stuff");
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_three_groups_update_removing_two(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -467,13 +443,12 @@ void add_contact_with_three_groups_update_removing_two(void **state)
     assert_string_equal(found->data, "stuff");
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_three_groups_update_removing_three(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -487,13 +462,12 @@ void add_contact_with_three_groups_update_removing_three(void **state)
     assert_int_equal(g_slist_length(groups_res), 0);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contact_with_three_groups_update_two_new(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -515,13 +489,12 @@ void add_contact_with_three_groups_update_two_new(void **state)
     assert_true(found != NULL);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_remove_contact_groups(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -535,13 +508,12 @@ void add_remove_contact_groups(void **state)
     assert_int_equal(g_slist_length(groups_res), 0);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contacts_with_different_groups(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -569,13 +541,12 @@ void add_contacts_with_different_groups(void **state)
     assert_true(found != NULL);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contacts_with_same_groups(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -600,13 +571,12 @@ void add_contacts_with_same_groups(void **state)
     assert_true(found != NULL);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void add_contacts_with_overlapping_groups(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -633,13 +603,12 @@ void add_contacts_with_overlapping_groups(void **state)
     assert_true(found != NULL);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
 
 void remove_contact_with_remaining_in_group(void **state)
 {
-    roster_init();
+    roster_create();
 
     GSList *groups1 = NULL;
     groups1 = g_slist_append(groups1, strdup("friends"));
@@ -666,6 +635,5 @@ void remove_contact_with_remaining_in_group(void **state)
     assert_true(found != NULL);
 
     g_slist_free_full(groups_res, g_free);
-    roster_clear();
-    roster_free();
+    roster_destroy();
 }
diff --git a/tests/unittests/test_server_events.c b/tests/unittests/test_server_events.c
index fac1ac38..b565dd9f 100644
--- a/tests/unittests/test_server_events.c
+++ b/tests/unittests/test_server_events.c
@@ -17,7 +17,7 @@
 void console_shows_online_presence_when_set_online(void **state)
 {
     prefs_set_string(PREF_STATUSES_CONSOLE, "online");
-    roster_init();
+    roster_create();
     char *barejid = "test1@server";
     roster_add(barejid, "bob", NULL, "both", FALSE);
     Resource *resource = resource_new("resource", RESOURCE_ONLINE, NULL, 10);
@@ -28,13 +28,13 @@ void console_shows_online_presence_when_set_online(void **state)
 
     sv_ev_contact_online(barejid, resource, NULL, NULL);
 
-    roster_clear();
+    roster_destroy();
 }
 
 void console_shows_online_presence_when_set_all(void **state)
 {
     prefs_set_string(PREF_STATUSES_CONSOLE, "all");
-    roster_init();
+    roster_create();
     char *barejid = "test1@server";
     roster_add(barejid, "bob", NULL, "both", FALSE);
     Resource *resource = resource_new("resource", RESOURCE_ONLINE, NULL, 10);
@@ -45,13 +45,13 @@ void console_shows_online_presence_when_set_all(void **state)
 
     sv_ev_contact_online(barejid, resource, NULL, NULL);
 
-    roster_clear();
+    roster_destroy();
 }
 
 void console_shows_dnd_presence_when_set_all(void **state)
 {
     prefs_set_string(PREF_STATUSES_CONSOLE, "all");
-    roster_init();
+    roster_create();
     char *barejid = "test1@server";
     roster_add(barejid, "bob", NULL, "both", FALSE);
     Resource *resource = resource_new("resource", RESOURCE_ONLINE, NULL, 10);
@@ -62,30 +62,34 @@ void console_shows_dnd_presence_when_set_all(void **state)
 
     sv_ev_contact_online(barejid, resource, NULL, NULL);
 
-    roster_clear();
+    roster_destroy();
 }
 
 void handle_offline_removes_chat_session(void **state)
 {
+    roster_create();
     chat_sessions_init();
     char *barejid = "friend@server.chat.com";
     char *resource = "home";
-    roster_init();
     roster_add(barejid, "bob", NULL, "both", FALSE);
     Resource *resourcep = resource_new(resource, RESOURCE_ONLINE, NULL, 10);
     roster_update_presence(barejid, resourcep, NULL);
     chat_session_recipient_active(barejid, resource, FALSE);
+    ProfConsoleWin *console = malloc(sizeof(ProfConsoleWin));
+    will_return(win_create_console, &console->window);
+    wins_init();
     sv_ev_contact_offline(barejid, resource, NULL);
     ChatSession *session = chat_session_get(barejid);
 
     assert_null(session);
 
-    roster_clear();
+    roster_destroy();
     chat_sessions_clear();
 }
 
 void lost_connection_clears_chat_sessions(void **state)
 {
+    roster_create();
     chat_sessions_init();
     chat_session_recipient_active("bob@server.org", "laptop", FALSE);
     chat_session_recipient_active("steve@server.org", "mobile", FALSE);
diff --git a/tests/unittests/ui/stub_ui.c b/tests/unittests/ui/stub_ui.c
index 45468214..019ea84e 100644
--- a/tests/unittests/ui/stub_ui.c
+++ b/tests/unittests/ui/stub_ui.c
@@ -463,7 +463,7 @@ void occupantswin_occupants(const char * const room) {}
 // window interface
 ProfWin* win_create_console(void)
 {
-    return NULL;
+    return (ProfWin*)mock();
 }
 ProfWin* win_create_xmlconsole(void)
 {