4 #include <glib/gstdio.h>
7 #include "check-helpers.h"
8 #include "check-libempathy.h"
9 #include "check-irc-helper.h"
11 #include <libempathy/empathy-irc-network-manager.h>
13 #define GLOBAL_SAMPLE "default-irc-networks-sample.xml"
14 #define USER_SAMPLE "user-irc-networks-sample.xml"
15 #define USER_FILE "user-irc-networks.xml"
18 get_xml_file (const gchar *filename)
20 return g_build_filename (g_getenv ("EMPATHY_SRCDIR"), "tests", "xml", filename, NULL);
24 get_user_xml_file (const gchar *filename)
26 return g_build_filename (g_get_tmp_dir (), filename, NULL);
29 START_TEST (test_empathy_irc_network_manager_add)
31 EmpathyIrcNetworkManager *mgr;
32 EmpathyIrcNetwork *network;
36 mgr = empathy_irc_network_manager_new (NULL, NULL);
37 fail_if (mgr == NULL);
39 networks = empathy_irc_network_manager_get_networks (mgr);
40 fail_if (networks != NULL);
43 network = empathy_irc_network_new ("My Network");
44 fail_if (network == NULL);
45 empathy_irc_network_manager_add (mgr, network);
46 g_object_unref (network);
48 networks = empathy_irc_network_manager_get_networks (mgr);
49 fail_if (g_slist_length (networks) != 1);
50 g_object_get (networks->data, "name", &name, NULL);
51 fail_if (name == NULL || strcmp (name, "My Network") != 0);
53 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
54 g_slist_free (networks);
56 /* add another network having the same name */
57 network = empathy_irc_network_new ("My Network");
58 fail_if (network == NULL);
59 empathy_irc_network_manager_add (mgr, network);
60 g_object_unref (network);
62 networks = empathy_irc_network_manager_get_networks (mgr);
63 fail_if (g_slist_length (networks) != 2);
64 g_object_get (networks->data, "name", &name, NULL);
65 fail_if (name == NULL || strcmp (name, "My Network") != 0);
67 g_object_get (g_slist_next(networks)->data, "name", &name, NULL);
68 fail_if (name == NULL || strcmp (name, "My Network") != 0);
70 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
71 g_slist_free (networks);
77 START_TEST (test_load_global_file)
79 EmpathyIrcNetworkManager *mgr;
80 gchar *global_file, *user_file;
82 struct server_t freenode_servers[] = {
83 { "irc.freenode.net", 6667, FALSE },
84 { "irc.eu.freenode.net", 6667, FALSE }};
85 struct server_t gimpnet_servers[] = {
86 { "irc.gimp.org", 6667, FALSE },
87 { "irc.us.gimp.org", 6667, FALSE }};
88 struct server_t test_servers[] = {
89 { "irc.test.org", 6669, TRUE }};
90 struct server_t undernet_servers[] = {
91 { "eu.undernet.org", 6667, FALSE }};
92 gboolean network_checked[4];
93 gchar *global_file_orig;
95 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
96 mgr = empathy_irc_network_manager_new (global_file_orig, NULL);
99 "global-file", &global_file,
100 "user-file", &user_file,
102 fail_if (global_file == NULL || strcmp (global_file, global_file_orig) != 0);
103 fail_if (user_file != NULL);
104 g_free (global_file);
105 g_free (global_file_orig);
108 networks = empathy_irc_network_manager_get_networks (mgr);
109 fail_if (g_slist_length (networks) != 4);
111 network_checked[0] = network_checked[1] = network_checked[2] =
112 network_checked[3] = FALSE;
113 /* check networks and servers */
114 for (l = networks; l != NULL; l = g_slist_next (l))
118 g_object_get (l->data, "name", &name, NULL);
119 fail_if (name == NULL);
121 if (strcmp (name, "Freenode") == 0)
123 check_network (l->data, "Freenode", "UTF-8", freenode_servers, 2);
124 network_checked[0] = TRUE;
126 else if (strcmp (name, "GIMPNet") == 0)
128 check_network (l->data, "GIMPNet", "UTF-8", gimpnet_servers, 2);
129 network_checked[1] = TRUE;
131 else if (strcmp (name, "Test Server") == 0)
133 check_network (l->data, "Test Server", "ISO-8859-1", test_servers, 1);
134 network_checked[2] = TRUE;
136 else if (strcmp (name, "Undernet") == 0)
138 check_network (l->data, "Undernet", "UTF-8", undernet_servers, 1);
139 network_checked[3] = TRUE;
148 fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2] ||
149 !network_checked[3]);
151 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
152 g_slist_free (networks);
153 g_object_unref (mgr);
158 remove_network_named (EmpathyIrcNetworkManager *mgr,
159 const gchar *network_name)
161 GSList *networks, *l;
162 gboolean removed = FALSE;
164 networks = empathy_irc_network_manager_get_networks (mgr);
166 /* check networks and servers */
167 for (l = networks; l != NULL && !removed; l = g_slist_next (l))
169 EmpathyIrcNetwork *network = l->data;
172 g_object_get (network, "name", &name, NULL);
173 fail_if (name == NULL);
175 if (strcmp (name, network_name) == 0)
177 empathy_irc_network_manager_remove (mgr, network);
184 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
185 g_slist_free (networks);
190 START_TEST (test_empathy_irc_network_manager_remove)
192 EmpathyIrcNetworkManager *mgr;
193 GSList *networks, *l;
194 struct server_t freenode_servers[] = {
195 { "irc.freenode.net", 6667, FALSE },
196 { "irc.eu.freenode.net", 6667, FALSE }};
197 struct server_t test_servers[] = {
198 { "irc.test.org", 6669, TRUE }};
199 struct server_t undernet_servers[] = {
200 { "eu.undernet.org", 6667, FALSE }};
201 gboolean network_checked[3];
203 gchar *global_file_orig;
205 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
206 mgr = empathy_irc_network_manager_new (global_file_orig, NULL);
207 g_free (global_file_orig);
209 result = remove_network_named (mgr, "GIMPNet");
212 networks = empathy_irc_network_manager_get_networks (mgr);
213 fail_if (g_slist_length (networks) != 3);
215 network_checked[0] = network_checked[1] = network_checked[2] = FALSE;
216 /* check networks and servers */
217 for (l = networks; l != NULL; l = g_slist_next (l))
221 g_object_get (l->data, "name", &name, NULL);
222 fail_if (name == NULL);
224 if (strcmp (name, "Freenode") == 0)
226 check_network (l->data, "Freenode", "UTF-8", freenode_servers, 2);
227 network_checked[0] = TRUE;
229 else if (strcmp (name, "Test Server") == 0)
231 check_network (l->data, "Test Server", "ISO-8859-1", test_servers, 1);
232 network_checked[1] = TRUE;
234 else if (strcmp (name, "Undernet") == 0)
236 check_network (l->data, "Undernet", "UTF-8", undernet_servers, 1);
237 network_checked[2] = TRUE;
246 fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2]);
248 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
249 g_slist_free (networks);
250 g_object_unref (mgr);
255 copy_user_file (void)
263 user_sample = get_xml_file (USER_SAMPLE);
264 result = g_file_get_contents (user_sample, &buffer, &length, NULL);
267 user_file = get_user_xml_file (USER_FILE);
268 result = g_file_set_contents (user_file, buffer, length, NULL);
271 g_free (user_sample);
276 START_TEST (test_load_user_file)
278 EmpathyIrcNetworkManager *mgr;
279 gchar *global_file, *user_file;
280 GSList *networks, *l;
281 struct server_t gimpnet_servers[] = {
282 { "irc.gimp.org", 6667, FALSE },
283 { "irc.us.gimp.org", 6667, FALSE },
284 { "irc.au.gimp.org", 6667, FALSE }};
285 struct server_t my_server[] = {
286 { "irc.mysrv.net", 7495, TRUE }};
287 struct server_t another_server[] = {
288 { "irc.anothersrv.be", 6660, FALSE }};
289 gboolean network_checked[3];
290 gchar *user_file_orig;
293 user_file_orig = get_user_xml_file (USER_FILE);
294 mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
297 "global-file", &global_file,
298 "user-file", &user_file,
300 fail_if (global_file != NULL);
301 fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
302 g_free (global_file);
304 g_free (user_file_orig);
306 networks = empathy_irc_network_manager_get_networks (mgr);
307 fail_if (g_slist_length (networks) != 3);
309 network_checked[0] = network_checked[1] = network_checked[2] = FALSE;
310 /* check networks and servers */
311 for (l = networks; l != NULL; l = g_slist_next (l))
315 g_object_get (l->data, "name", &name, NULL);
316 fail_if (name == NULL);
318 if (strcmp (name, "GIMPNet") == 0)
320 check_network (l->data, "GIMPNet", "UTF-8", gimpnet_servers, 3);
321 network_checked[0] = TRUE;
323 else if (strcmp (name, "My Server") == 0)
325 check_network (l->data, "My Server", "UTF-8", my_server, 1);
326 network_checked[1] = TRUE;
328 else if (strcmp (name, "Another Server") == 0)
330 check_network (l->data, "Another Server", "UTF-8", another_server, 1);
331 network_checked[2] = TRUE;
340 fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2]);
342 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
343 g_slist_free (networks);
344 g_object_unref (mgr);
348 START_TEST (test_load_both_files)
350 EmpathyIrcNetworkManager *mgr;
351 gchar *global_file, *user_file;
352 GSList *networks, *l;
353 struct server_t freenode_servers[] = {
354 { "irc.freenode.net", 6667, FALSE },
355 { "irc.eu.freenode.net", 6667, FALSE }};
356 struct server_t gimpnet_servers[] = {
357 { "irc.gimp.org", 6667, FALSE },
358 { "irc.us.gimp.org", 6667, FALSE },
359 { "irc.au.gimp.org", 6667, FALSE }};
360 struct server_t my_server[] = {
361 { "irc.mysrv.net", 7495, TRUE }};
362 struct server_t another_server[] = {
363 { "irc.anothersrv.be", 6660, FALSE }};
364 struct server_t undernet_servers[] = {
365 { "eu.undernet.org", 6667, FALSE }};
366 gboolean network_checked[5];
367 gchar *global_file_orig, *user_file_orig;
369 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
370 user_file_orig = get_user_xml_file (USER_FILE);
371 mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
374 "global-file", &global_file,
375 "user-file", &user_file,
377 fail_if (global_file == NULL || strcmp (global_file, global_file_orig) != 0);
378 fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
379 g_free (global_file);
380 g_free (global_file_orig);
382 g_free (user_file_orig);
384 networks = empathy_irc_network_manager_get_networks (mgr);
385 fail_if (g_slist_length (networks) != 5);
387 network_checked[0] = network_checked[1] = network_checked[2] =
388 network_checked[3] = network_checked[4] = FALSE;
389 /* check networks and servers */
390 for (l = networks; l != NULL; l = g_slist_next (l))
394 g_object_get (l->data, "name", &name, NULL);
395 fail_if (name == NULL);
397 if (strcmp (name, "Freenode") == 0)
399 check_network (l->data, "Freenode", "UTF-8", freenode_servers, 2);
400 network_checked[0] = TRUE;
402 else if (strcmp (name, "GIMPNet") == 0)
404 check_network (l->data, "GIMPNet", "UTF-8", gimpnet_servers, 3);
405 network_checked[1] = TRUE;
407 else if (strcmp (name, "My Server") == 0)
409 check_network (l->data, "My Server", "UTF-8", my_server, 1);
410 network_checked[2] = TRUE;
412 else if (strcmp (name, "Another Server") == 0)
414 check_network (l->data, "Another Server", "UTF-8", another_server, 1);
415 network_checked[3] = TRUE;
417 else if (strcmp (name, "Undernet") == 0)
419 check_network (l->data, "Undernet", "UTF-8", undernet_servers, 1);
420 network_checked[4] = TRUE;
429 fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2] ||
430 !network_checked[3] || !network_checked[4]);
432 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
433 g_slist_free (networks);
434 g_object_unref (mgr);
438 START_TEST (test_modify_user_file)
440 EmpathyIrcNetworkManager *mgr;
441 EmpathyIrcNetwork *network;
442 EmpathyIrcServer *server;
443 gchar *global_file, *user_file;
444 GSList *networks, *l;
445 struct server_t gimpnet_servers[] = {
446 { "irc.gimp.org", 6667, TRUE },
447 { "irc.us.gimp.org", 6668, FALSE }};
448 struct server_t great_server[] = {
449 { "irc.greatserver.com", 7873, TRUE }};
450 struct server_t another_server[] = {
451 { "irc.anothersrv.be", 6660, FALSE }};
452 gboolean network_modified[2];
453 gboolean network_checked[3];
454 gchar *user_file_orig;
457 user_file_orig = get_user_xml_file (USER_FILE);
458 mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
461 "global-file", &global_file,
462 "user-file", &user_file,
464 fail_if (global_file != NULL);
465 fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
466 g_free (global_file);
469 networks = empathy_irc_network_manager_get_networks (mgr);
470 fail_if (g_slist_length (networks) != 3);
472 network_modified[0] = network_modified[1] = FALSE;
473 /* check networks and servers */
474 for (l = networks; l != NULL; l = g_slist_next (l))
476 EmpathyIrcNetwork *network;
480 g_object_get (network, "name", &name, NULL);
481 fail_if (name == NULL);
483 if (strcmp (name, "GIMPNet") == 0)
485 GSList *servers, *ll;
488 g_object_set (network, "charset", "ISO-8859-1", NULL);
490 servers = empathy_irc_network_get_servers (network);
491 for (ll = servers; ll != NULL; ll = g_slist_next (ll))
493 EmpathyIrcServer *server;
497 g_object_get (server, "address", &address, NULL);
498 if (strcmp (address, "irc.gimp.org") == 0)
501 g_object_set (server, "ssl", TRUE, NULL);
503 else if (strcmp (address, "irc.us.gimp.org") == 0)
506 g_object_set (server, "port", 6668, NULL);
508 else if (strcmp (address, "irc.au.gimp.org") == 0)
510 /* remove this server */
511 empathy_irc_network_remove_server (network, server);
521 network_modified[0] = TRUE;
523 g_slist_foreach (servers, (GFunc) g_object_unref, NULL);
524 g_slist_free (servers);
526 else if (strcmp (name, "My Server") == 0)
528 /* remove this network */
529 empathy_irc_network_manager_remove (mgr, network);
530 network_modified[1] = TRUE;
532 else if (strcmp (name, "Another Server") == 0)
534 /* Don't change this one */
543 fail_if (!network_modified[0] || !network_modified[1]);
545 /* Add a new network */
546 network = empathy_irc_network_new ("Great Server");
547 server = empathy_irc_server_new ("irc.greatserver.com", 7873, TRUE);
548 empathy_irc_network_append_server (network, server);
549 empathy_irc_network_manager_add (mgr, network);
550 g_object_unref (server);
551 g_object_unref (network);
553 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
554 g_slist_free (networks);
555 g_object_unref (mgr);
558 /* Now let's reload the file and check its contain */
559 mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
560 g_free (user_file_orig);
562 networks = empathy_irc_network_manager_get_networks (mgr);
563 fail_if (g_slist_length (networks) != 3);
565 network_checked[0] = network_checked[1] = network_checked[2] = FALSE;
566 /* check networks and servers */
567 for (l = networks; l != NULL; l = g_slist_next (l))
571 g_object_get (l->data, "name", &name, NULL);
572 fail_if (name == NULL);
574 if (strcmp (name, "GIMPNet") == 0)
576 check_network (l->data, "GIMPNet", "ISO-8859-1", gimpnet_servers, 2);
577 network_checked[0] = TRUE;
579 else if (strcmp (name, "Great Server") == 0)
581 check_network (l->data, "Great Server", "UTF-8", great_server, 1);
582 network_checked[1] = TRUE;
584 else if (strcmp (name, "Another Server") == 0)
586 check_network (l->data, "Another Server", "UTF-8", another_server, 1);
587 network_checked[2] = TRUE;
596 fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2]);
598 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
599 g_slist_free (networks);
600 g_object_unref (mgr);
604 START_TEST (test_modify_both_files)
606 EmpathyIrcNetworkManager *mgr;
607 EmpathyIrcNetwork *network;
608 EmpathyIrcServer *server;
609 gchar *global_file, *user_file;
610 GSList *networks, *l;
611 struct server_t gimpnet_servers[] = {
612 { "irc.gimp.org", 6667, TRUE },
613 { "irc.us.gimp.org", 6668, FALSE }};
614 struct server_t great_server[] = {
615 { "irc.greatserver.com", 7873, TRUE }};
616 struct server_t another_server[] = {
617 { "irc.anothersrv.be", 6660, FALSE }};
618 struct server_t undernet_servers[] = {
619 { "eu.undernet.org", 6667, FALSE },
620 { "us.undernet.org", 6667, FALSE }};
621 gboolean network_modified[4];
622 gboolean network_checked[4];
623 gchar *global_file_orig, *user_file_orig;
626 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
627 user_file_orig = get_user_xml_file (USER_FILE);
628 mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
631 "global-file", &global_file,
632 "user-file", &user_file,
634 fail_if (global_file == NULL || strcmp (global_file, global_file_orig) != 0);
635 fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
636 g_free (global_file);
637 g_free (global_file_orig);
639 g_free (user_file_orig);
641 networks = empathy_irc_network_manager_get_networks (mgr);
642 fail_if (g_slist_length (networks) != 5);
644 network_modified[0] = network_modified[1] = network_modified[2] =
645 network_modified[3] = FALSE;
646 /* check networks and servers */
647 for (l = networks; l != NULL; l = g_slist_next (l))
649 EmpathyIrcNetwork *network;
653 g_object_get (network, "name", &name, NULL);
654 fail_if (name == NULL);
656 if (strcmp (name, "GIMPNet") == 0)
658 /* Modify user network */
659 GSList *servers, *ll;
661 servers = empathy_irc_network_get_servers (network);
662 for (ll = servers; ll != NULL; ll = g_slist_next (ll))
664 EmpathyIrcServer *server;
668 g_object_get (server, "address", &address, NULL);
669 if (strcmp (address, "irc.gimp.org") == 0)
672 g_object_set (server, "ssl", TRUE, NULL);
674 else if (strcmp (address, "irc.us.gimp.org") == 0)
677 g_object_set (server, "port", 6668, NULL);
679 else if (strcmp (address, "irc.au.gimp.org") == 0)
681 /* remove this server */
682 empathy_irc_network_remove_server (network, server);
692 network_modified[0] = TRUE;
694 g_slist_foreach (servers, (GFunc) g_object_unref, NULL);
695 g_slist_free (servers);
697 else if (strcmp (name, "My Server") == 0)
699 /* remove user network */
700 empathy_irc_network_manager_remove (mgr, network);
701 network_modified[1] = TRUE;
703 else if (strcmp (name, "Freenode") == 0)
705 /* remove global network */
706 empathy_irc_network_manager_remove (mgr, network);
707 network_modified[2] = TRUE;
709 else if (strcmp (name, "Undernet") == 0)
711 /* modify global network */
712 EmpathyIrcServer *server;
714 server = empathy_irc_server_new ("us.undernet.org", 6667, FALSE);
715 empathy_irc_network_append_server (network, server);
716 g_object_unref (server);
718 network_modified[3] = TRUE;
720 else if (strcmp (name, "Another Server") == 0)
722 /* Don't change this one */
731 fail_if (!network_modified[0] || !network_modified[1] || !network_modified[2]
732 || !network_modified[3]);
734 /* Add a new network */
735 network = empathy_irc_network_new ("Great Server");
736 server = empathy_irc_server_new ("irc.greatserver.com", 7873, TRUE);
737 empathy_irc_network_append_server (network, server);
738 empathy_irc_network_manager_add (mgr, network);
739 g_object_unref (server);
740 g_object_unref (network);
742 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
743 g_slist_free (networks);
744 g_object_unref (mgr);
747 /* Now let's reload the file and check its contain */
748 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
749 user_file_orig = get_user_xml_file (USER_FILE);
750 mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
751 g_free (global_file_orig);
752 g_free (user_file_orig);
754 networks = empathy_irc_network_manager_get_networks (mgr);
755 fail_if (g_slist_length (networks) != 4);
757 network_checked[0] = network_checked[1] = network_checked[2] =
758 network_checked[3] = FALSE;
759 /* check networks and servers */
760 for (l = networks; l != NULL; l = g_slist_next (l))
764 g_object_get (l->data, "name", &name, NULL);
765 fail_if (name == NULL);
767 if (strcmp (name, "GIMPNet") == 0)
769 check_network (l->data, "GIMPNet", "UTF-8", gimpnet_servers, 2);
770 network_checked[0] = TRUE;
772 else if (strcmp (name, "Great Server") == 0)
774 check_network (l->data, "Great Server", "UTF-8", great_server, 1);
775 network_checked[1] = TRUE;
777 else if (strcmp (name, "Another Server") == 0)
779 check_network (l->data, "Another Server", "UTF-8", another_server, 1);
780 network_checked[2] = TRUE;
782 else if (strcmp (name, "Undernet") == 0)
784 check_network (l->data, "Undernet", "UTF-8", undernet_servers, 2);
785 network_checked[3] = TRUE;
794 fail_if (!network_checked[0] || !network_checked[1] || !network_checked[2] ||
795 !network_checked[3]);
797 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
798 g_slist_free (networks);
799 g_object_unref (mgr);
803 START_TEST (test_empathy_irc_network_manager_find_network_by_address)
805 EmpathyIrcNetworkManager *mgr;
806 EmpathyIrcNetwork *network;
807 struct server_t freenode_servers[] = {
808 { "irc.freenode.net", 6667, FALSE },
809 { "irc.eu.freenode.net", 6667, FALSE }};
810 gchar *global_file_orig;
812 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
813 mgr = empathy_irc_network_manager_new (global_file_orig, NULL);
814 g_free (global_file_orig);
816 network = empathy_irc_network_manager_find_network_by_address (mgr,
818 fail_if (network == NULL);
819 check_network (network, "Freenode", "UTF-8", freenode_servers, 2);
821 network = empathy_irc_network_manager_find_network_by_address (mgr,
822 "irc.eu.freenode.net");
823 fail_if (network == NULL);
824 check_network (network, "Freenode", "UTF-8", freenode_servers, 2);
826 network = empathy_irc_network_manager_find_network_by_address (mgr,
828 fail_if (network != NULL);
830 g_object_unref (mgr);
834 START_TEST (test_no_modify_with_empty_user_file)
836 EmpathyIrcNetworkManager *mgr;
838 gchar *global_file_orig;
839 gchar *user_file_orig;
841 /* user don't have a networks file yet */
842 user_file_orig = get_user_xml_file (USER_FILE);
843 g_unlink (user_file_orig);
845 global_file_orig = get_xml_file (GLOBAL_SAMPLE);
846 mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
847 g_free (global_file_orig);
848 g_object_unref (mgr);
850 /* We didn't modify anything so USER_FILE should be empty */
851 mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
852 g_free (user_file_orig);
854 networks = empathy_irc_network_manager_get_networks (mgr);
855 fail_if (g_slist_length (networks) != 0);
857 g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
858 g_slist_free (networks);
859 g_object_unref (mgr);
864 make_empathy_irc_network_manager_tcase (void)
866 TCase *tc = tcase_create ("empathy-irc-network-manager");
867 tcase_add_test (tc, test_empathy_irc_network_manager_add);
868 tcase_add_test (tc, test_load_global_file);
869 tcase_add_test (tc, test_empathy_irc_network_manager_remove);
870 tcase_add_test (tc, test_load_user_file);
871 tcase_add_test (tc, test_load_both_files);
872 tcase_add_test (tc, test_modify_user_file);
873 tcase_add_test (tc, test_modify_both_files);
874 tcase_add_test (tc, test_empathy_irc_network_manager_find_network_by_address);
875 tcase_add_test (tc, test_no_modify_with_empty_user_file);