[gtk/matthiasc/for-main] filterlistmodel: Add a test




commit 18f021c5b2d224d24d70a0c6a70faa470daaaa77
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Jul 17 06:05:15 2022 -0400

    filterlistmodel: Add a test
    
    Test that items added in the underlying model show
    up in the filter model (if they pass the filter).
    
    See #5050

 testsuite/gtk/filterlistmodel.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
---
diff --git a/testsuite/gtk/filterlistmodel.c b/testsuite/gtk/filterlistmodel.c
index d35b73f74b..2195d8b64b 100644
--- a/testsuite/gtk/filterlistmodel.c
+++ b/testsuite/gtk/filterlistmodel.c
@@ -414,6 +414,28 @@ test_empty (void)
   g_object_unref (filter);
 }
 
+static void
+test_add_item (void)
+{
+  GtkFilterListModel *filter;
+  GListStore *store;
+
+  filter = new_model (10, is_smaller_than, GUINT_TO_POINTER (7));
+  assert_model (filter, "1 2 3 4 5 6");
+  assert_changes (filter, "");
+
+  store = G_LIST_STORE (gtk_filter_list_model_get_model (filter));
+  add (store, 9);
+  assert_model (filter, "1 2 3 4 5 6");
+  assert_changes (filter, "");
+
+  add (store, 1);
+  assert_model (filter, "1 2 3 4 5 6 1");
+  assert_changes (filter, "+6*");
+
+  g_object_unref (filter);
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -428,6 +450,7 @@ main (int argc, char *argv[])
   g_test_add_func ("/filterlistmodel/change_filter", test_change_filter);
   g_test_add_func ("/filterlistmodel/incremental", test_incremental);
   g_test_add_func ("/filterlistmodel/empty", test_empty);
+  g_test_add_func ("/filterlistmodel/add_item", test_add_item);
 
   return g_test_run ();
 }


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