[telepathy-gabble/telepathy-gabble-0.8] test-jid-decode: factor out common code

Dafydd Harries dafydd.harries at collabora.co.uk
Tue Aug 25 10:35:37 PDT 2009


---
 tests/test-jid-decode.c |   92 +++++++++--------------------------------------
 1 files changed, 17 insertions(+), 75 deletions(-)

diff --git a/tests/test-jid-decode.c b/tests/test-jid-decode.c
index a3c1609..f1e3ee3 100644
--- a/tests/test-jid-decode.c
+++ b/tests/test-jid-decode.c
@@ -6,105 +6,47 @@
 #include "src/util.h"
 
 static void
-test1 (void)
+test_pass (
+    const gchar *jid,
+    const gchar *expected_node,
+    const gchar *expected_domain,
+    const gchar *expected_resource)
 {
   gchar *node = NULL;
   gchar *domain = NULL;
   gchar *resource = NULL;
 
-  g_assert (!gabble_decode_jid ("", &node, &domain, &resource));
-  g_assert (node == NULL);
-  g_assert (domain == NULL);
-  g_assert (resource == NULL);
-  g_free (domain);
-}
-
-static void
-test2 (void)
-{
-  gchar *node = NULL;
-  gchar *domain = NULL;
-  gchar *resource = NULL;
-
-  g_assert (gabble_decode_jid ("bar", &node, &domain, &resource));
-  g_assert (node == NULL);
-  g_assert (0 == strcmp (domain, "bar"));
-  g_assert (resource == NULL);
-  g_free (domain);
-}
-
-static void
-test3 (void)
-{
-  gchar *node = NULL;
-  gchar *domain = NULL;
-  gchar *resource = NULL;
-
-  g_assert (gabble_decode_jid ("foo at bar", &node, &domain, &resource));
-  g_assert (0 == strcmp (node, "foo"));
-  g_assert (0 == strcmp (domain, "bar"));
-  g_assert (resource == NULL);
-  g_free (node);
-  g_free (domain);
-}
-
-static void
-test4 (void)
-{
-  gchar *node = NULL;
-  gchar *domain = NULL;
-  gchar *resource = NULL;
-
-  g_assert (gabble_decode_jid ("foo at bar/baz", &node, &domain, &resource));
-  g_assert (0 == strcmp (node, "foo"));
-  g_assert (0 == strcmp (domain, "bar"));
-  g_assert (0 == strcmp (resource, "baz"));
+  g_assert (gabble_decode_jid (jid, &node, &domain, &resource));
+  g_assert (!tp_strdiff (expected_node, node));
+  g_assert (!tp_strdiff (expected_domain, domain));
+  g_assert (!tp_strdiff (expected_resource, resource));
   g_free (node);
   g_free (domain);
   g_free (resource);
 }
 
 static void
-test5 (void)
+test_fail (const gchar *jid)
 {
   gchar *node = NULL;
   gchar *domain = NULL;
   gchar *resource = NULL;
 
-  g_assert (!gabble_decode_jid ("@bar", &node, &domain, &resource));
+  g_assert (!gabble_decode_jid (jid, &node, &domain, &resource));
   g_assert (node == NULL);
   g_assert (domain == NULL);
   g_assert (resource == NULL);
-  g_free (node);
-  g_free (domain);
-  g_free (resource);
-}
-
-static void
-test6 (void)
-{
-  gchar *node = NULL;
-  gchar *domain = NULL;
-  gchar *resource = NULL;
-
-  g_assert (!gabble_decode_jid ("foo at bar/", &node, &domain, &resource));
-  g_assert (node == NULL);
-  g_assert (domain == NULL);
-  g_assert (resource == NULL);
-  g_free (node);
-  g_free (domain);
-  g_free (resource);
 }
 
 int
 main (void)
 {
-  test1 ();
-  test2 ();
-  test3 ();
-  test4 ();
-  test5 ();
-  test6 ();
+  test_fail ("");
+  test_pass ("bar", NULL, "bar", NULL);
+  test_pass ("foo at bar", "foo", "bar", NULL);
+  test_pass ("foo at bar/baz", "foo", "bar", "baz");
+  test_fail ("@bar");
+  test_fail ("foo at bar/");
 
   return 0;
 }
-- 
1.5.6.5




More information about the telepathy-commits mailing list