gpointing-device-settings r13 - in trunk: src test



Author: hiikezoe
Date: Thu Feb 26 07:27:48 2009
New Revision: 13
URL: http://svn.gnome.org/viewvc/gpointing-device-settings?rev=13&view=rev

Log:
added gpds_uis_load/unload and gpds_uis_get_names.

Modified:
   trunk/src/gpds-ui.c
   trunk/src/gpds-ui.h
   trunk/src/gpointing-device-settings.c
   trunk/test/test-ui.c

Modified: trunk/src/gpds-ui.c
==============================================================================
--- trunk/src/gpds-ui.c	(original)
+++ trunk/src/gpds-ui.c	Thu Feb 26 07:27:48 2009
@@ -30,16 +30,27 @@
 
 static GList *uis = NULL;
 
-#if 0
 gboolean
-gpds_ui_quit (void)
+gpds_uis_load (void)
+{
+    uis = gpds_module_load_modules();
+    return TRUE;
+}
+
+gboolean
+gpds_uis_unload (void)
 {
     g_list_foreach(uis, (GFunc)gpds_module_unload, NULL);
     g_list_free(uis);
 
     return TRUE;
 }
-#endif
+
+GList *
+gpds_uis_get_names (void)
+{
+    return gpds_module_collect_names(uis);
+}
 
 typedef struct _GpdsUIPriv GpdsUIPriv;
 struct _GpdsUIPriv

Modified: trunk/src/gpds-ui.h
==============================================================================
--- trunk/src/gpds-ui.h	(original)
+++ trunk/src/gpds-ui.h	Thu Feb 26 07:27:48 2009
@@ -58,6 +58,10 @@
     GtkWidget *(*get_label_widget)      (GpdsUI *ui, GError **error);
 };
 
+gboolean    gpds_uis_load                (void);
+gboolean    gpds_uis_unload              (void);
+GList      *gpds_uis_get_names           (void);
+
 GQuark      gpds_ui_error_quark          (void);
 GType       gpds_ui_get_type             (void) G_GNUC_CONST;
 GpdsUI     *gpds_ui_new                  (const gchar *name);

Modified: trunk/src/gpointing-device-settings.c
==============================================================================
--- trunk/src/gpointing-device-settings.c	(original)
+++ trunk/src/gpointing-device-settings.c	Thu Feb 26 07:27:48 2009
@@ -27,13 +27,12 @@
 #include "gpds-module.h"
 #include "gpds-ui.h"
 
-static GList *modules = NULL;
 static GList *uis = NULL;
 
 static gboolean
 gpds_init (void)
 {
-    modules = gpds_module_load_modules();
+    gpds_uis_load();
     return TRUE;
 }
 
@@ -42,8 +41,7 @@
 {
     g_list_foreach(uis, (GFunc)g_object_unref, NULL);
     g_list_free(uis);
-    g_list_foreach(modules, (GFunc)gpds_module_unload, NULL);
-    g_list_free(modules);
+    gpds_uis_unload();
 
     return TRUE;
 }
@@ -59,7 +57,7 @@
 {
     GList *ui_names, *name;
 
-    ui_names = gpds_module_collect_names(modules);
+    ui_names = gpds_uis_get_names();
     
     for (name = ui_names; name; name = g_list_next(name)) {
         GpdsUI *ui;

Modified: trunk/test/test-ui.c
==============================================================================
--- trunk/test/test-ui.c	(original)
+++ trunk/test/test-ui.c	Thu Feb 26 07:27:48 2009
@@ -2,18 +2,35 @@
 
 #include <gcutter.h>
 
+void test_names (void);
 void test_new (void);
 void test_is_available (void);
 void test_build (void);
 
 static GError *error;
 static GpdsUI *ui;
+static GList *names;
+static GList *expected_names;
+
+void
+cut_startup (void)
+{
+    gpds_uis_load();
+}
+
+void
+cut_shutdown (void)
+{
+    gpds_uis_unload();
+}
 
 void
 setup (void)
 {
     ui = NULL;
     error = NULL;
+    names = NULL;
+    expected_names = NULL;
 }
 
 void
@@ -21,6 +38,19 @@
 {
     if (ui)
         g_object_unref(ui);
+    g_list_free(names);
+    g_list_free(expected_names);
+}
+
+void
+test_names (void)
+{
+    expected_names = g_list_append(expected_names, "touchpad");
+    expected_names = g_list_append(expected_names, "trackpoint");
+
+    names = gpds_uis_get_names();
+
+    gcut_assert_equal_list_string(expected_names, names);
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]