]> git.0d.be Git - empathy.git/blobdiff - tests/check-empathy-irc-network-manager.c
Merge branch 'irc-dialog-579800'
[empathy.git] / tests / check-empathy-irc-network-manager.c
index c3e8531355adc6c555d9e3e434449be2e92f1366..7b3562020130d242bc85ff536809befa3fa4d9b4 100644 (file)
@@ -7,12 +7,13 @@
 #include "check-helpers.h"
 #include "check-libempathy.h"
 #include "check-irc-helper.h"
+#include "check-empathy-helpers.h"
 
 #include <libempathy/empathy-irc-network-manager.h>
 
-#define GLOBAL_SAMPLE "xml/default-irc-networks-sample.xml"
-#define USER_SAMPLE "xml/user-irc-networks-sample.xml"
-#define USER_FILE "xml/user-irc-networks.xml"
+#define GLOBAL_SAMPLE "default-irc-networks-sample.xml"
+#define USER_SAMPLE "user-irc-networks-sample.xml"
+#define USER_FILE "user-irc-networks.xml"
 
 START_TEST (test_empathy_irc_network_manager_add)
 {
@@ -52,7 +53,7 @@ START_TEST (test_empathy_irc_network_manager_add)
   g_object_get (networks->data, "name", &name, NULL);
   fail_if (name == NULL || strcmp (name, "My Network") != 0);
   g_free (name);
-  g_object_get (g_slist_next(networks)->data, "name", &name, NULL);
+  g_object_get (g_slist_next (networks)->data, "name", &name, NULL);
   fail_if (name == NULL || strcmp (name, "My Network") != 0);
   g_free (name);
   g_slist_foreach (networks, (GFunc) g_object_unref, NULL);
@@ -78,16 +79,19 @@ START_TEST (test_load_global_file)
   struct server_t undernet_servers[] = {
     { "eu.undernet.org", 6667, FALSE }};
   gboolean network_checked[4];
+  gchar *global_file_orig;
 
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, NULL);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, NULL);
 
   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 (global_file == NULL || strcmp (global_file, global_file_orig) != 0);
   fail_if (user_file != NULL);
   g_free (global_file);
+  g_free (global_file_orig);
   g_free (user_file);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
@@ -185,8 +189,11 @@ START_TEST (test_empathy_irc_network_manager_remove)
     { "eu.undernet.org", 6667, FALSE }};
   gboolean network_checked[3];
   gboolean result;
+  gchar *global_file_orig;
 
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, NULL);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, NULL);
+  g_free (global_file_orig);
 
   result = remove_network_named (mgr, "GIMPNet");
   fail_if (!result);
@@ -233,22 +240,6 @@ START_TEST (test_empathy_irc_network_manager_remove)
 }
 END_TEST
 
-static void
-copy_user_file (void)
-{
-  gboolean result;
-  gchar *buffer;
-  gsize length;
-
-  result = g_file_get_contents (USER_SAMPLE, &buffer, &length, NULL);
-  fail_if (!result);
-
-  result = g_file_set_contents (USER_FILE, buffer, length, NULL);
-  fail_if (!result);
-
-  g_free (buffer);
-}
-
 START_TEST (test_load_user_file)
 {
   EmpathyIrcNetworkManager *mgr;
@@ -263,18 +254,21 @@ START_TEST (test_load_user_file)
   struct server_t another_server[] = {
     { "irc.anothersrv.be", 6660, FALSE }};
   gboolean network_checked[3];
+  gchar *user_file_orig;
 
-  copy_user_file ();
-  mgr = empathy_irc_network_manager_new (NULL, USER_FILE);
+  copy_xml_file (USER_SAMPLE, USER_FILE);
+  user_file_orig = get_user_xml_file (USER_FILE);
+  mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
 
   g_object_get (mgr,
       "global-file", &global_file,
       "user-file", &user_file,
       NULL);
   fail_if (global_file != NULL);
-  fail_if (user_file == NULL || strcmp (user_file, USER_FILE) != 0);
+  fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
   g_free (global_file);
   g_free (user_file);
+  g_free (user_file_orig);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
   fail_if (g_slist_length (networks) != 3);
@@ -337,17 +331,22 @@ START_TEST (test_load_both_files)
   struct server_t undernet_servers[] = {
     { "eu.undernet.org", 6667, FALSE }};
   gboolean network_checked[5];
+  gchar *global_file_orig, *user_file_orig;
 
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, USER_FILE);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  user_file_orig = get_user_xml_file (USER_FILE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
 
   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_FILE) != 0);
+  fail_if (global_file == NULL || strcmp (global_file, global_file_orig) != 0);
+  fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
   g_free (global_file);
+  g_free (global_file_orig);
   g_free (user_file);
+  g_free (user_file_orig);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
   fail_if (g_slist_length (networks) != 5);
@@ -419,16 +418,18 @@ START_TEST (test_modify_user_file)
     { "irc.anothersrv.be", 6660, FALSE }};
   gboolean network_modified[2];
   gboolean network_checked[3];
+  gchar *user_file_orig;
 
-  copy_user_file ();
-  mgr = empathy_irc_network_manager_new (NULL, USER_FILE);
+  copy_xml_file (USER_SAMPLE, USER_FILE);
+  user_file_orig = get_user_xml_file (USER_FILE);
+  mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
 
   g_object_get (mgr,
       "global-file", &global_file,
       "user-file", &user_file,
       NULL);
   fail_if (global_file != NULL);
-  fail_if (user_file == NULL || strcmp (user_file, USER_FILE) != 0);
+  fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
   g_free (global_file);
   g_free (user_file);
 
@@ -522,7 +523,8 @@ START_TEST (test_modify_user_file)
 
 
   /* Now let's reload the file and check its contain */
-  mgr = empathy_irc_network_manager_new (NULL, USER_FILE);
+  mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
+  g_free (user_file_orig);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
   fail_if (g_slist_length (networks) != 3);
@@ -585,18 +587,23 @@ START_TEST (test_modify_both_files)
     { "us.undernet.org", 6667, FALSE }};
   gboolean network_modified[4];
   gboolean network_checked[4];
+  gchar *global_file_orig, *user_file_orig;
 
-  copy_user_file ();
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, USER_FILE);
+  copy_xml_file (USER_SAMPLE, USER_FILE);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  user_file_orig = get_user_xml_file (USER_FILE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
 
   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_FILE) != 0);
+  fail_if (global_file == NULL || strcmp (global_file, global_file_orig) != 0);
+  fail_if (user_file == NULL || strcmp (user_file, user_file_orig) != 0);
   g_free (global_file);
+  g_free (global_file_orig);
   g_free (user_file);
+  g_free (user_file_orig);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
   fail_if (g_slist_length (networks) != 5);
@@ -705,7 +712,11 @@ START_TEST (test_modify_both_files)
 
 
   /* Now let's reload the file and check its contain */
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, USER_FILE);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  user_file_orig = get_user_xml_file (USER_FILE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
+  g_free (global_file_orig);
+  g_free (user_file_orig);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
   fail_if (g_slist_length (networks) != 4);
@@ -763,8 +774,11 @@ START_TEST (test_empathy_irc_network_manager_find_network_by_address)
   struct server_t freenode_servers[] = {
     { "irc.freenode.net", 6667, FALSE },
     { "irc.eu.freenode.net", 6667, FALSE }};
+  gchar *global_file_orig;
 
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, NULL);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, NULL);
+  g_free (global_file_orig);
 
   network = empathy_irc_network_manager_find_network_by_address (mgr,
       "irc.freenode.net");
@@ -788,15 +802,21 @@ START_TEST (test_no_modify_with_empty_user_file)
 {
   EmpathyIrcNetworkManager *mgr;
   GSList *networks;
+  gchar *global_file_orig;
+  gchar *user_file_orig;
 
   /* user don't have a networks file yet */
-  g_unlink (USER_FILE);
+  user_file_orig = get_user_xml_file (USER_FILE);
+  g_unlink (user_file_orig);
 
-  mgr = empathy_irc_network_manager_new (GLOBAL_SAMPLE, USER_FILE);
+  global_file_orig = get_xml_file (GLOBAL_SAMPLE);
+  mgr = empathy_irc_network_manager_new (global_file_orig, user_file_orig);
+  g_free (global_file_orig);
   g_object_unref (mgr);
 
   /* We didn't modify anything so USER_FILE should be empty */
-  mgr = empathy_irc_network_manager_new (NULL, USER_FILE);
+  mgr = empathy_irc_network_manager_new (NULL, user_file_orig);
+  g_free (user_file_orig);
 
   networks = empathy_irc_network_manager_get_networks (mgr);
   fail_if (g_slist_length (networks) != 0);