Add some more a11y tests
authorMatthias Clasen <mclasen@redhat.com>
Tue, 20 Jun 2023 15:05:22 +0000 (11:05 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 20 Jun 2023 15:05:22 +0000 (11:05 -0400)
Check that the hidden state is as it should be.

testsuite/a11y/button.c

index b32682f7555f162c921095b5d4a2331b7675fcde..7e79dc00e87e5aaecd211b198e0aa7df4b3a7ca6 100644 (file)
@@ -42,6 +42,26 @@ button_relation (void)
   g_object_unref (button);
 }
 
+static void
+button_state (void)
+{
+  GtkWidget *button = gtk_button_new_with_mnemonic ("_Hello");
+
+  g_object_ref_sink (button);
+
+  gtk_test_accessible_assert_state (GTK_ACCESSIBLE (button),
+                                    GTK_ACCESSIBLE_STATE_HIDDEN, button, FALSE,
+                                    -1);
+
+  gtk_widget_set_visible (button, FALSE);
+
+  gtk_test_accessible_assert_state (GTK_ACCESSIBLE (button),
+                                    GTK_ACCESSIBLE_STATE_HIDDEN, button, TRUE,
+                                    -1);
+
+  g_object_unref (button);
+}
+
 static void
 linkbutton_role (void)
 {
@@ -73,6 +93,7 @@ main (int argc, char *argv[])
   g_test_add_func ("/a11y/button/role", button_role);
   g_test_add_func ("/a11y/button/label", button_label);
   g_test_add_func ("/a11y/button/relation", button_relation);
+  g_test_add_func ("/a11y/button/state", button_state);
   g_test_add_func ("/a11y/linkbutton/role", linkbutton_role);
   g_test_add_func ("/a11y/linkbutton/label", linkbutton_label);