[gtk/test-protocol: 1/5] testsuite: Fix the accessible test
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/test-protocol: 1/5] testsuite: Fix the accessible test
- Date: Fri, 20 Mar 2020 14:47:55 +0000 (UTC)
commit 068ec582870817ae78626db5d93cd35d3205c47e
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Mar 20 08:33:21 2020 -0400
testsuite: Fix the accessible test
This test was happily doing nothing.
testsuite/gtk/accessible.c | 38 ++++++++++++++++++++++++++------------
1 file changed, 26 insertions(+), 12 deletions(-)
---
diff --git a/testsuite/gtk/accessible.c b/testsuite/gtk/accessible.c
index 7f5a034b94..5671e536a4 100644
--- a/testsuite/gtk/accessible.c
+++ b/testsuite/gtk/accessible.c
@@ -1,21 +1,22 @@
#include <gtk/gtk.h>
static void
-test_type (GType t)
+test_type (gconstpointer data)
{
+ GType t = *(GType *)data;
GtkWidget *w;
AtkObject *a;
- if (g_type_is_a (t, GTK_TYPE_WIDGET))
- {
- w = (GtkWidget *)g_object_new (t, NULL);
- a = gtk_widget_get_accessible (w);
+ w = (GtkWidget *)g_object_new (t, NULL);
+ if (g_type_is_a (t, G_TYPE_INITIALLY_UNOWNED))
+ g_object_ref_sink (w);
- g_assert (GTK_IS_ACCESSIBLE (a));
- g_assert (gtk_accessible_get_widget (GTK_ACCESSIBLE (a)) == w);
+ a = gtk_widget_get_accessible (w);
- g_object_unref (w);
- }
+ g_assert (GTK_IS_ACCESSIBLE (a));
+ g_assert (gtk_accessible_get_widget (GTK_ACCESSIBLE (a)) == w);
+
+ g_object_unref (w);
}
int
@@ -24,12 +25,25 @@ main (int argc, char *argv[])
const GType *tp;
guint i, n;
- gtk_init ();
+ gtk_test_init (&argc, &argv, NULL);
+ gtk_test_register_all_types ();
tp = gtk_test_list_all_types (&n);
for (i = 0; i < n; i++)
- test_type (tp[i]);
+ {
+ char *testname;
+
+ if (!g_type_is_a (tp[i], GTK_TYPE_WIDGET) ||
+ G_TYPE_IS_ABSTRACT (tp[i]) ||
+ !G_TYPE_IS_INSTANTIATABLE (tp[i]))
+ continue;
+
+ testname = g_strdup_printf ("/Accessible/%s", g_type_name (tp[i]));
+ g_test_add_data_func (testname, &tp[i], test_type);
+
+ g_free (testname);
+ }
- return 0;
+ return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]