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);