Files
gtk/testsuite/a11y/dialog.c
Matthias Clasen 6f46e95c75 Deprecate GtkDialog
GtkDialog API is archaic and over-complicated.
What is needed for dialogs can typically achieved
more easily by adding buttons directly to a window.
2022-10-23 08:57:46 -04:00

57 lines
1.3 KiB
C

#include <gtk/gtk.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
static void
dialog_role (void)
{
GtkWidget *dialog = gtk_dialog_new ();
gtk_test_accessible_assert_role (dialog, GTK_ACCESSIBLE_ROLE_DIALOG);
gtk_window_destroy (GTK_WINDOW (dialog));
}
static void
dialog_state (void)
{
GtkWidget *dialog = gtk_dialog_new ();
gtk_window_present (GTK_WINDOW (dialog));
gtk_test_accessible_assert_state (dialog, GTK_ACCESSIBLE_STATE_HIDDEN, FALSE);
gtk_widget_hide (dialog);
gtk_test_accessible_assert_state (dialog, GTK_ACCESSIBLE_STATE_HIDDEN, TRUE);
gtk_window_destroy (GTK_WINDOW (dialog));
}
static void
dialog_properties (void)
{
GtkWidget *dialog = gtk_dialog_new ();
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_test_accessible_assert_property (dialog, GTK_ACCESSIBLE_PROPERTY_MODAL, TRUE);
gtk_window_set_modal (GTK_WINDOW (dialog), FALSE);
gtk_test_accessible_assert_property (dialog, GTK_ACCESSIBLE_PROPERTY_MODAL, FALSE);
gtk_window_destroy (GTK_WINDOW (dialog));
}
int
main (int argc, char *argv[])
{
gtk_test_init (&argc, &argv, NULL);
g_test_add_func ("/a11y/dialog/role", dialog_role);
g_test_add_func ("/a11y/dialog/state", dialog_state);
g_test_add_func ("/a11y/dialog/properties", dialog_properties);
return g_test_run ();
}