#include <gtk/gtk.h>
#define DEMO_TYPE_WIDGET (demo_widget_get_type ())
G_DECLARE_FINAL_TYPE (DemoWidget, demo_widget, DEMO, WIDGET, GtkWidget)
struct _DemoWidget
{
GtkWidget parent_instance;
};
struct _DemoWidgetClass
{
GtkWidgetClass parent_class;
};
G_DEFINE_TYPE (DemoWidget, demo_widget, GTK_TYPE_WIDGET)
static void
demo_widget_init (DemoWidget *self)
{
}
static void
demo_widget_class_init (DemoWidgetClass *class )
{
}
static void
test_custom_widget_role (void )
{
GtkWidget *widget;
widget = g_object_new (DEMO_TYPE_WIDGET, NULL);
g_object_ref_sink (widget);
g_assert_true (gtk_accessible_get_accessible_role (GTK_ACCESSIBLE (widget)) == GTK_ACCESSIBLE_ROLE_GENERIC);
g_object_unref (widget);
}
static void
test_custom_widget_role_explicit (void )
{
GtkWidget *widget;
widget = g_object_new (DEMO_TYPE_WIDGET,
"accessible-role" , GTK_ACCESSIBLE_ROLE_LABEL,
NULL);
g_object_ref_sink (widget);
g_assert_true (gtk_accessible_get_accessible_role (GTK_ACCESSIBLE (widget)) == GTK_ACCESSIBLE_ROLE_LABEL);
g_object_unref (widget);
}
static void
test_custom_widget_ui (void )
{
GtkBuilder *builder;
GtkWidget *widget;
g_type_ensure (DEMO_TYPE_WIDGET);
builder = gtk_builder_new ();
gtk_builder_add_from_string (builder,
"<interface>"
" <object class='DemoWidget' id='test'>"
" </object>"
"</interface>" , -1 , NULL);
widget = GTK_WIDGET (gtk_builder_get_object (builder, "test" ));
g_assert_true (gtk_accessible_get_accessible_role (GTK_ACCESSIBLE (widget)) == GTK_ACCESSIBLE_ROLE_GENERIC);
g_object_unref (builder);
}
int
main (int argc, char *argv[])
{
gtk_test_init (&argc, &argv, NULL);
g_test_add_func ("/a11y/custom-widget/role" , test_custom_widget_role);
g_test_add_func ("/a11y/custom-widget/explicit-role" , test_custom_widget_role_explicit);
g_test_add_func ("/a11y/custom-widget/ui" , test_custom_widget_ui);
return g_test_run ();
}
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-07-03)
¤
*© Formatika GbR, Deutschland