if (!path)
return FALSE;
- if (gtk_tree_path_get_indices (path, NULL)[0] != n)
+ if (gtk_tree_path_get_indices (path)[0] != n)
ret = FALSE;
gtk_tree_path_free (path);
g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1));
g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
g_object_unref (store);
}
g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1));
g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
g_object_unref (store);
}
g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1));
g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
g_object_unref (store);
}
g_assert (!gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 2));
+ g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 2));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter3, &iter_copy));
+ g_assert (iter_position (store, &iter3, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+
g_object_unref (store);
}
g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 0));
g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1));
+ g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+
g_object_unref (store);
}
g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1));
g_assert (iters_equal (&iter3, &iter_copy));
+ g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 2));
+ g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 2));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter3, &iter_copy));
+ g_assert (iter_position (store, &iter3, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+
g_object_unref (store);
}
g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1));
g_assert (iters_equal (&iter2, &iter_copy));
+ g_assert (iter_position (store, &iter2, 1));
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
+ g_assert (iters_equal (&iter, &iter_copy));
+ g_assert (iter_position (store, &iter, 0));
+
+ g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy));
g_object_unref (store);
}
/* iter invalidation */
+static void
+list_store_test_iter_previous_invalid (ListStore *fixture,
+ gconstpointer user_data)
+{
+ GtkTreeIter iter;
+
+ gtk_tree_model_get_iter_first (GTK_TREE_MODEL (fixture->store), &iter);
+
+ g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (fixture->store),
+ &iter) == FALSE);
+ g_assert (gtk_list_store_iter_is_valid (fixture->store, &iter) == FALSE);
+ g_assert (iter.stamp == 0);
+}
+
static void
list_store_test_iter_next_invalid (ListStore *fixture,
gconstpointer user_data)
list_store_test_move_before_single);
/* iter invalidation */
+ g_test_add ("/list-store/iter-prev-invalid", ListStore, NULL,
+ list_store_setup, list_store_test_iter_previous_invalid,
+ list_store_teardown);
g_test_add ("/list-store/iter-next-invalid", ListStore, NULL,
list_store_setup, list_store_test_iter_next_invalid,
list_store_teardown);