Add a rather specially crafted test case
This commit is contained in:
@ -1053,6 +1053,44 @@ specific_sort_filter_remove_root (void)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
specific_root_mixed_visibility (void)
|
||||
{
|
||||
int i;
|
||||
/* A bit nasty, apologies */
|
||||
GtkWidget *view;
|
||||
GtkTreeModel *filter;
|
||||
FilterTest fixture;
|
||||
|
||||
fixture.store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN);
|
||||
|
||||
for (i = 0; i < LEVEL_LENGTH; i++)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
|
||||
gtk_tree_store_insert (fixture.store, &iter, NULL, i);
|
||||
if (i % 2 == 0)
|
||||
create_tree_store_set_values (fixture.store, &iter, TRUE);
|
||||
else
|
||||
create_tree_store_set_values (fixture.store, &iter, FALSE);
|
||||
}
|
||||
|
||||
filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture.store), NULL);
|
||||
fixture.filter = GTK_TREE_MODEL_FILTER (filter);
|
||||
|
||||
gtk_tree_model_filter_set_visible_column (fixture.filter, 1);
|
||||
|
||||
/* In order to trigger the potential bug, we should not access
|
||||
* the filter model here (so don't call the check functions).
|
||||
*/
|
||||
|
||||
/* Change visibility of an odd row to TRUE */
|
||||
set_path_visibility (&fixture, "3", TRUE);
|
||||
check_filter_model (&fixture);
|
||||
check_level_length (fixture.filter, NULL, 4);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
specific_filter_add_child (void)
|
||||
{
|
||||
@ -1649,6 +1687,8 @@ main (int argc,
|
||||
specific_sort_filter_remove_node);
|
||||
g_test_add_func ("/FilterModel/specific/sort-filter-remove-root",
|
||||
specific_sort_filter_remove_root);
|
||||
g_test_add_func ("/FilterModel/specific/root-mixed-visibility",
|
||||
specific_root_mixed_visibility);
|
||||
g_test_add_func ("/FilterModel/specific/filter-add-child",
|
||||
specific_filter_add_child);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user