1 | #include <gtk/gtk.h> |
2 | |
3 | static void |
4 | scrollbar_role (void) |
5 | { |
6 | GtkWidget *widget = gtk_scrollbar_new (orientation: GTK_ORIENTATION_HORIZONTAL, NULL); |
7 | g_object_ref_sink (widget); |
8 | |
9 | gtk_test_accessible_assert_role (widget, GTK_ACCESSIBLE_ROLE_SCROLLBAR); |
10 | |
11 | g_object_unref (object: widget); |
12 | } |
13 | |
14 | static void |
15 | scrollbar_state (void) |
16 | { |
17 | GtkWidget *widget = gtk_scrollbar_new (orientation: GTK_ORIENTATION_HORIZONTAL, NULL); |
18 | g_object_ref_sink (widget); |
19 | |
20 | gtk_test_accessible_assert_state (widget, GTK_ACCESSIBLE_STATE_DISABLED, FALSE); |
21 | |
22 | gtk_widget_set_sensitive (widget, FALSE); |
23 | |
24 | gtk_test_accessible_assert_state (widget, GTK_ACCESSIBLE_STATE_DISABLED, TRUE); |
25 | |
26 | g_object_unref (object: widget); |
27 | } |
28 | |
29 | static void |
30 | scrollbar_properties (void) |
31 | { |
32 | GtkAdjustment *adj = gtk_adjustment_new (value: 0.0, lower: 0.0, upper: 100.0, step_increment: 1.0, page_increment: 10.0, page_size: 10.0); |
33 | GtkWidget *widget = gtk_scrollbar_new (orientation: GTK_ORIENTATION_HORIZONTAL, adjustment: adj); |
34 | g_object_ref_sink (widget); |
35 | |
36 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_ORIENTATION, GTK_ORIENTATION_HORIZONTAL); |
37 | |
38 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_VALUE_MAX, 100.); |
39 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_VALUE_MIN, 0.); |
40 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, 0.); |
41 | |
42 | gtk_orientable_set_orientation (GTK_ORIENTABLE (widget), orientation: GTK_ORIENTATION_VERTICAL); |
43 | gtk_adjustment_set_value (adjustment: adj, value: 50.0); |
44 | |
45 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_ORIENTATION, GTK_ORIENTATION_VERTICAL); |
46 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_VALUE_MAX, 100.); |
47 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_VALUE_MIN, 0.); |
48 | gtk_test_accessible_assert_property (widget, GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, 50.0); |
49 | |
50 | g_object_unref (object: widget); |
51 | } |
52 | |
53 | static void |
54 | scrollbar_relations (void) |
55 | { |
56 | GtkWidget *sw = gtk_scrolled_window_new (); |
57 | GtkWidget *hscrollbar; |
58 | GtkWidget *vscrollbar; |
59 | GtkWidget *child; |
60 | |
61 | g_object_ref_sink (sw); |
62 | |
63 | hscrollbar = gtk_scrolled_window_get_hscrollbar (GTK_SCROLLED_WINDOW (sw)); |
64 | vscrollbar = gtk_scrolled_window_get_vscrollbar (GTK_SCROLLED_WINDOW (sw)); |
65 | |
66 | gtk_test_accessible_assert_relation (hscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, NULL); |
67 | gtk_test_accessible_assert_relation (vscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, NULL); |
68 | |
69 | child = gtk_text_view_new (); |
70 | gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), child); |
71 | |
72 | gtk_test_accessible_assert_relation (hscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, child, NULL); |
73 | gtk_test_accessible_assert_relation (vscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, child, NULL); |
74 | |
75 | g_object_unref (object: sw); |
76 | } |
77 | |
78 | int |
79 | main (int argc, char *argv[]) |
80 | { |
81 | gtk_test_init (argcp: &argc, argvp: &argv, NULL); |
82 | |
83 | g_test_add_func (testpath: "/a11y/scrollbar/role" , test_func: scrollbar_role); |
84 | g_test_add_func (testpath: "/a11y/scrollbar/state" , test_func: scrollbar_state); |
85 | g_test_add_func (testpath: "/a11y/scrollbar/properties" , test_func: scrollbar_properties); |
86 | g_test_add_func (testpath: "/a11y/scrollbar/relations" , test_func: scrollbar_relations); |
87 | |
88 | return g_test_run (); |
89 | } |
90 | |