diff options
author | Guillaume Desmottes <gdesmott@gnome.org> | 2008-01-20 09:18:47 +0800 |
---|---|---|
committer | Guillaume Desmottes <gdesmott@gnome.org> | 2008-01-20 09:18:47 +0800 |
commit | fd44318a5d3787f93df653158b7e5b12cb2726aa (patch) | |
tree | b5dc0101c720ba4fbd60cf082eaebd0e50238972 /tests/check-empathy-irc-network-manager.c | |
parent | a7c37f1a8f9950e3a5acfd73204030a81e101326 (diff) | |
download | gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.tar gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.tar.gz gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.tar.bz2 gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.tar.lz gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.tar.xz gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.tar.zst gsoc2013-empathy-fd44318a5d3787f93df653158b7e5b12cb2726aa.zip |
test loading of global and user networks file at the same time
Diffstat (limited to 'tests/check-empathy-irc-network-manager.c')
-rw-r--r-- | tests/check-empathy-irc-network-manager.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/check-empathy-irc-network-manager.c b/tests/check-empathy-irc-network-manager.c index be42aee50..d988717e6 100644 --- a/tests/check-empathy-irc-network-manager.c +++ b/tests/check-empathy-irc-network-manager.c @@ -276,6 +276,75 @@ START_TEST (test_load_user_file) } END_TEST +START_TEST (test_load_both_files) +{ + EmpathyIrcNetworkManager *mgr; + gchar *global_file, *user_file; + GSList *networks, *l; + struct server_t freenode_servers[] = { + { "irc.freenode.net", 6667, FALSE }, + { "irc.eu.freenode.net", 6667, FALSE }}; + struct server_t gimpnet_servers[] = { + { "irc.gimp.org", 6667, FALSE }, + { "irc.us.gimp.org", 6667, FALSE }, + { "irc.au.gimp.org", 6667, FALSE }}; + struct server_t my_server[] = { + { "irc.mysrv.net", 7495, TRUE }}; + gboolean network_checked[3]; + + mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, USER_SAMPLE); + + g_object_get (mgr, + "global-file", &global_file, + "user-file", &user_file, + NULL); + fail_if (global_file == NULL || strcmp (global_file, GLOBAL_SAMPLE) != 0); + fail_if (user_file == NULL || strcmp (user_file, USER_SAMPLE) != 0); + g_free (global_file); + g_free (user_file); + + networks = empathy_irc_network_manager_get_networks (mgr); + fail_if (g_slist_length (networks) != 3); + + network_checked[0] = network_checked[1] = network_checked[2] = FALSE; + /* check networks and servers */ + for (l = networks; l != NULL; l = g_slist_next (l)) + { + gchar *name; + + g_object_get (l->data, "name", &name, NULL); + fail_if (name == NULL); + + if (strcmp (name, "Freenode") == 0) + { + check_network (l->data, "Freenode", freenode_servers, 2); + network_checked[0] = TRUE; + } + else if (strcmp (name, "GIMPNet") == 0) + { + check_network (l->data, "GIMPNet", gimpnet_servers, 3); + network_checked[1] = TRUE; + } + else if (strcmp (name, "My Server") == 0) + { + check_network (l->data, "My Server", my_server, 1); + network_checked[2] = TRUE; + } + else + { + fail_if (TRUE); + } + + g_free (name); + } + fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2]); + + g_slist_foreach (networks, (GFunc) g_object_unref, NULL); + g_slist_free (networks); + g_object_unref (mgr); +} +END_TEST + TCase * make_empathy_irc_network_manager_tcase (void) { @@ -284,5 +353,6 @@ make_empathy_irc_network_manager_tcase (void) tcase_add_test (tc, test_load_global_file); tcase_add_test (tc, test_empathy_irc_network_manager_remove); tcase_add_test (tc, test_load_user_file); + tcase_add_test (tc, test_load_both_files); return tc; } |