[gtk+] Generalize fixture setup code



commit 378a6dffce9aa27dfebda401a882584ac764a7f5
Author: Kristian Rietveld <kris gtk org>
Date:   Tue Sep 1 14:50:32 2009 +0200

    Generalize fixture setup code

 gtk/tests/filtermodel.c |   53 ++++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 28 deletions(-)
---
diff --git a/gtk/tests/filtermodel.c b/gtk/tests/filtermodel.c
index 2463601..0f9be75 100644
--- a/gtk/tests/filtermodel.c
+++ b/gtk/tests/filtermodel.c
@@ -88,60 +88,57 @@ typedef struct
 } FilterTest;
 
 static void
-filter_test_setup (FilterTest    *fixture,
-                   gconstpointer  test_data)
+filter_test_setup_generic (FilterTest    *fixture,
+                           gconstpointer  test_data,
+                           int            depth,
+                           gboolean       empty,
+                           gboolean       unfiltered)
 {
   const GtkTreePath *vroot = test_data;
+  GtkTreeModel *filter;
+
+  fixture->store = create_tree_store (depth, !empty);
 
-  fixture->store = create_tree_store (3, TRUE);
   /* Please forgive me for casting const away. */
-  fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), (GtkTreePath *)vroot));
-  gtk_tree_model_filter_set_visible_column (fixture->filter, 1);
+  filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store),
+                                      (GtkTreePath *)vroot);
+  fixture->filter = GTK_TREE_MODEL_FILTER (filter);
+
+  if (!unfiltered)
+    gtk_tree_model_filter_set_visible_column (fixture->filter, 1);
 
   /* We need a tree view that's listening to get ref counting from that
    * side.
    */
-  fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter));
+  fixture->tree_view = gtk_tree_view_new_with_model (filter);
+}
+
+static void
+filter_test_setup (FilterTest    *fixture,
+                   gconstpointer  test_data)
+{
+  filter_test_setup_generic (fixture, test_data, 3, FALSE, FALSE);
 }
 
 static void
 filter_test_setup_empty (FilterTest    *fixture,
                          gconstpointer  test_data)
 {
-  fixture->store = create_tree_store (3, FALSE);
-  fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), NULL));
-  gtk_tree_model_filter_set_visible_column (fixture->filter, 1);
-
-  /* We need a tree view that's listening to get ref counting from that
-   * side.
-   */
-  fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter));
+  filter_test_setup_generic (fixture, test_data, 3, TRUE, FALSE);
 }
 
 static void
 filter_test_setup_unfiltered (FilterTest    *fixture,
                               gconstpointer  test_data)
 {
-  fixture->store = create_tree_store (3, TRUE);
-  fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), NULL));
-
-  /* We need a tree view that's listening to get ref counting from that
-   * side.
-   */
-  fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter));
+  filter_test_setup_generic (fixture, test_data, 3, FALSE, TRUE);
 }
 
 static void
 filter_test_setup_empty_unfiltered (FilterTest    *fixture,
                                     gconstpointer  test_data)
 {
-  fixture->store = create_tree_store (3, FALSE);
-  fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), NULL));
-
-  /* We need a tree view that's listening to get ref counting from that
-   * side.
-   */
-  fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter));
+  filter_test_setup_generic (fixture, test_data, 3, TRUE, TRUE);
 }
 
 static void



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