[kazehakase-svn] [3718] added downloader test.

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
Mon Feb 16 16:02:51 JST 2009


Revision: 3718
          http://svn.sourceforge.jp/view?root=kazehakase&view=rev&rev=3718
Author:   ikezoe
Date:     2009-02-16 16:02:51 +0900 (Mon, 16 Feb 2009)

Log Message:
-----------
added downloader test.

Modified Paths:
--------------
    kazehakase/trunk/test/Makefile.am

Added Paths:
-----------
    kazehakase/trunk/test/test-downloader.c

Property Changed:
----------------
    kazehakase/trunk/test/fixtures/

Modified: kazehakase/trunk/test/Makefile.am
===================================================================
--- kazehakase/trunk/test/Makefile.am	2009-02-16 07:02:02 UTC (rev 3717)
+++ kazehakase/trunk/test/Makefile.am	2009-02-16 07:02:51 UTC (rev 3718)
@@ -14,7 +14,8 @@
 	test-root-bookmark.la		\
 	test-profile.la			\
 	test-embed-engine.la		\
-	test-utils.la
+	test-utils.la			\
+	test-downloader.la		
 endif
 
 EXTRA_DIST =		\
@@ -67,6 +68,7 @@
 test_profile_la_LIBADD = kz_test_utils.la
 test_embed_engine_la_SOURCES = test-embed-engine.c
 test_utils_la_SOURCES = test-utils.c
+test_downloader_la_SOURCES = test-downloader.c
 
 
 echo-cutter:


Property changes on: kazehakase/trunk/test/fixtures
___________________________________________________________________
Modified: svn:ignore
   - Makefile
Makefile.in

   + Makefile
Makefile.in
.goutputstream-*


Added: kazehakase/trunk/test/test-downloader.c
===================================================================
--- kazehakase/trunk/test/test-downloader.c	                        (rev 0)
+++ kazehakase/trunk/test/test-downloader.c	2009-02-16 07:02:51 UTC (rev 3718)
@@ -0,0 +1,128 @@
+#include "kz-downloader.h"
+
+#include <gcutter.h>
+#include "kz-test-utils.h"
+
+void test_new (void);
+void test_to_buffer (void);
+
+static KzDownloader *downloader;
+
+static gint n_start_received;
+static gint n_completed_received;
+static gint n_error_received;
+static gchar *error_message;
+static gchar *expected_buffer;
+
+void
+setup (void)
+{
+    downloader =  NULL;
+
+    n_start_received = 0;
+    n_completed_received = 0;
+    n_error_received = 0;
+
+    error_message = NULL;
+    expected_buffer = NULL;
+}
+
+void
+teardown (void)
+{
+    if (downloader)
+        g_object_unref(downloader);
+    g_free(expected_buffer);
+}
+
+void
+test_new (void)
+{
+    downloader = kz_downloader_new("http://kazehakase.sourceforge.jp/bookmark-test.xml");
+    cut_assert(downloader);
+}
+
+static gboolean
+cb_check_emitted (gpointer data)
+{
+    gboolean *emitted = data;
+
+    *emitted = TRUE;
+    return FALSE;
+}
+
+static void
+wait_signal (gint *n_signals)
+{
+    gboolean timeout_emitted = FALSE;
+    guint timeout_id;
+
+    timeout_id = g_timeout_add_seconds(1, cb_check_emitted, &timeout_emitted);
+    while (!timeout_emitted && *n_signals == 0)
+        g_main_context_iteration(NULL, TRUE);
+
+    g_source_remove(timeout_id);
+
+    cut_assert_false(timeout_emitted, "timeout");
+}
+
+static void 
+cb_start (KzDownloader *downloader, gpointer data)
+{
+    n_start_received++;
+}
+
+static void 
+cb_completed (KzDownloader *downloader, gpointer data)
+{
+    n_completed_received++;
+}
+
+static void 
+cb_error (KzDownloader *downloader, gpointer data)
+{
+    n_error_received++;
+}
+
+static void
+setup_signals (void)
+{
+    g_signal_connect(downloader, "start",
+                     G_CALLBACK(cb_start), NULL);
+    g_signal_connect(downloader, "completed",
+                     G_CALLBACK(cb_completed), NULL);
+    g_signal_connect(downloader, "error",
+                     G_CALLBACK(cb_error), NULL);
+}
+
+void
+test_to_buffer (void)
+{
+    gchar *file_path;
+    GError *error = NULL;
+
+    cut_trace(test_new());
+
+    setup_signals();
+    cut_assert_true(kz_downloader_to_buffer(downloader));
+
+    wait_signal(&n_start_received);
+    cut_assert_equal_int(1, n_start_received);
+    wait_signal(&n_completed_received);
+    cut_assert_equal_int(0, n_error_received);
+    cut_assert_equal_int(1, n_completed_received);
+
+    file_path = g_build_filename(kz_test_get_base_dir(),
+                                 "fixtures", "bookmarkbar.xml",
+                                 NULL);
+    cut_take_string(file_path);
+
+    g_file_get_contents(file_path, &expected_buffer, NULL, &error);
+    gcut_assert_error(error);
+
+    cut_assert_equal_string(expected_buffer, kz_downloader_get_buffer(downloader));
+}
+
+/*
+vi:ts=4:nowrap:ai:expandtab:sw=4
+*/




More information about the Kazehakase-cvs mailing list
Zurück zum Archiv-Index