Add another a11y test
authorMatthias Clasen <mclasen@redhat.com>
Wed, 21 Jun 2023 20:06:39 +0000 (16:06 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 21 Jun 2023 23:55:46 +0000 (19:55 -0400)
This one catches the lingering 'widget' role
that only happens when widgets are realized
and rooted.

testsuite/a11y/colordialogbutton.c [new file with mode: 0644]
testsuite/a11y/meson.build

diff --git a/testsuite/a11y/colordialogbutton.c b/testsuite/a11y/colordialogbutton.c
new file mode 100644 (file)
index 0000000..6fc2b74
--- /dev/null
@@ -0,0 +1,29 @@
+#include <gtk/gtk.h>
+
+static void
+color_dialog_button_role (void)
+{
+  GtkWidget *window, *widget;
+
+  widget = gtk_color_dialog_button_new (NULL);
+  window = gtk_window_new ();
+  gtk_window_set_child (GTK_WINDOW (window), widget);
+  gtk_window_present (GTK_WINDOW (window));
+
+  while (!gtk_widget_get_realized (widget))
+    g_main_context_iteration (NULL, FALSE);
+
+  gtk_test_accessible_assert_role (widget, GTK_ACCESSIBLE_ROLE_GROUP);
+
+  gtk_window_destroy (GTK_WINDOW (window));
+}
+
+int
+main (int argc, char *argv[])
+{
+  gtk_test_init (&argc, &argv, NULL);
+
+  g_test_add_func ("/a11y/color-dialog-button/role", color_dialog_button_role);
+
+  return g_test_run ();
+}
index 058baec4060c9b692b075911550f377cb1e5cfd6..2686d6c31ffc15b6eb0d2478fa415bee76858751 100644 (file)
@@ -11,6 +11,7 @@ tests = [
   { 'name': 'box' },
   { 'name': 'button' },
   { 'name': 'checkbutton' },
+  { 'name': 'colordialogbutton' },
   { 'name': 'custom' },
   { 'name': 'dialog' },
   { 'name': 'entry' },