diff --git a/testsuite/gtk/sortlistmodel.c b/testsuite/gtk/sortlistmodel.c index fa8915df8f..454cae32e1 100644 --- a/testsuite/gtk/sortlistmodel.c +++ b/testsuite/gtk/sortlistmodel.c @@ -543,6 +543,29 @@ test_out_of_bounds_access (void) g_object_unref (sort); } +static void +test_add_remove_item (void) +{ + GtkSortListModel *sort; + GListStore *store; + + store = new_store ((guint[]) { 4, 8, 2, 6, 10, 0 }); + sort = new_model (store); + assert_model (sort, "2 4 6 8 10"); + assert_changes (sort, ""); + + add (store, 3); + assert_model (sort, "2 3 4 6 8 10"); + assert_changes (sort, "+1*"); + + g_list_store_remove (store, 5); + assert_model (sort, "2 4 6 8 10"); + assert_changes (sort, "-1*"); + + g_object_unref (store); + g_object_unref (sort); +} + int main (int argc, char *argv[]) { @@ -563,6 +586,7 @@ main (int argc, char *argv[]) g_test_add_func ("/sortlistmodel/stability", test_stability); g_test_add_func ("/sortlistmodel/incremental/remove", test_incremental_remove); g_test_add_func ("/sortlistmodel/oob-access", test_out_of_bounds_access); + g_test_add_func ("/sortlistmodel/add-remove-item", test_add_remove_item); return g_test_run (); }