1
2Testing AT-SPI requires both a test application and an AT client.
3
4Test applications are built from xml files using xml loader module,
5based on Dummy ATK implementation.
6
7Each test is built as a GTest object and packed into a single interface test suite.
8
9Test directory contains:
10
11 * atk_suite - Generates a test suite, the main executable of all test suite,
12               help is shown when run with '-h' parameter.
13
14 * atk-object-xml-loader - Generates dummy atk object from xml file.
15
16 * test-application - Starts an application with atk object generated by atk-object-xml-loader
17
18 * data/ - Folder which contains xml file from which dummy atk object is generated
19
20 * dummyatk/ - Folder which contains dummy atk implementation
21
22
23************************
24HOW TO CREATE NEW TESTS:
25
261) Add atspi interface which will be tested to Atk_Test_Case in atk_suite.c and atk_suite.h,
27   then add proper test call in atk_suite_build function.
282) Prepare xml file which describes tested root object and descendants.
29   If any new fields in xml file appear, atk-object-xml-loader should be modifed.
303) Add test file named atk_test_TEST_NAME.c, where TEST_NAME is tested interface name:
31   a) Create function which runs tested application
32   b) Create get_root_obj function for tested interface
33   c) Create tested functions
34   d) Create function which calls all test functions, this function should be called in atk_suite.c file.
35
36*************************
37AVAILABLE TESTS:
38
39- Accessible:
40             -accessible_get_name
41             -accessible_get_description
42             -accessible_get_child_count
43             -accessible_get_parent
44             -accessible_get_child_at_index
45             -accessible_get_index_in_parent
46             -accessible_get_relation_set_1
47             -accessible_get_relation_set_2
48             -accessible_get_role
49             -accessible_get_role_name
50             -accessible_get_localized_role_name
51             -accessible_get_state_set
52             -accessible_get_attributes
53             -accessible_get_attributes_as_array
54             -accessible_get_toolkit_name
55             -accessible_get_toolkit_version
56             -accessible_get_atspi_version
57             -accessible_get_id
58             -accessible_get_application
59             -accessible_get_action_iface
60             -accessible_get_collection_iface
61             -accessible_get_component_iface
62             -accessible_get_document_iface
63             -accessible_get_editable_text_iface
64             -accessible_get_hypertext_iface
65             -accessible_get_image_iface
66             -accessible_get_selection_iface
67             -accessible_get_table_iface
68             -accessible_get_text_iface
69             -accessible_get_value_iface
70             -accessible_get_interfaces
71             -accessible_get_object_locale
72             -accessible_set_cache_mask
73             -accessible_clear_cache
74             -accessible_get_process_id
75- Action:
76             -get_action_interface
77             -action_get_action_description
78             -action_get_action_name
79             -action_get_n_actions
80             -action_get_key_binding
81             -action_get_localized_name
82             -action_do_action
83- Component:
84             -component_contains
85             -component_get_accessible_at_point
86             -component_get_extents
87             -component_get_layer
88             -component_get_mdi_z_order
89             -component_grab_focus
90             -component_get_alpha
91             -component_set_extents
92- Collection
93             -get_collection_iface
94             -get_matches
95             -get_matches_to
96             -get_matches_from
97- EditableText:
98             -get_editable_text_iface
99             -editable_text_set_attributes
100             -editable_text_insert_text
101             -editable_text_copy_text
102             -editable_text_cut_text
103             -editable_text_delete_text
104             -editable_text_paste_text
105- Image:
106             -get_image_iface
107             -image_get_image_size
108             -image_get_image_position
109             -image_get_image_extents
110             -image_get_image_locale
111- HyperLink
112             -hyperlink_get_n_anchors
113             -hyperlink_get_uri
114             -hyperlink_get_object
115             -hyperlink_get_index_range
116             -hyperlink_get_start_index
117             -hyperlink_get_end_index
118             -hyperlink_is_valid
119- HyperText
120             -hypertext_get_n_links
121             -hypertext_get_link
122             -hypertext_get_link_index
123- Relation
124             -relation_get_relation_type
125             -relation_get_n_targets
126             -relation_get_target
127- Selection
128             -selection_get_n_selected_children
129             -selection_get_selected_child
130             -selection_select_child
131             -selection_deselect_selected
132             -selection_deselect_child
133             -selection_is_child_selected
134             -selection_select_all
135             -selection_clear_selection
136- State Set
137             -state_set_new
138             -state_set_set_by_name
139             -state_set_add
140             -state_set_compare
141             -state_set_contains
142             -state_set_equals
143             -state_set_get_states
144             -state_set_is_empty
145             -state_set_remove
146- Table
147             -table_get_caption
148             -table_get_summary
149             -table_get_n_rows
150             -table_get_n_columns
151             -table_get_accessible_at
152             -table_get_index_at
153             -table_get_row_at_index
154             -table_get_column_at_index
155             -table_get_row_description
156             -table_get_column_description
157             -table_get_row_extent_at
158             -table_get_column_extent_at
159             -table_get_row_header
160             -table_get_column_header
161             -table_get_n_selected_rows
162             -table_get_selected_rows
163             -table_get_selected_columns
164             -table_get_n_selected_columns
165             -table_is_row_selected
166             -table_is_column_selected
167             -table_add_row_selection
168             -table_add_column_selection
169             -table_remove_row_selection
170             -table_remove_column_selection
171             -table_get_row_column_extents_at_index
172             -table_is_selected
173- Table Cell
174             -table_cell_get_column_span
175             -table_cell_get_column_header_cells
176             -table_cell_get_column_index
177             -table_cell_get_row_span
178             -table_cell_get_row_header_cells
179             -table_cell_get_row_column_span
180             -table_cell_get_table
181- Text:
182             -text_get_character_count
183             -text_get_text
184             -text_get_caret_offset
185             -text_get_text_attributes
186             -text_get_attribute_run
187             -text_get_get_text_attribute_value
188             -text_get_defualt_attributes
189             -text_set_caret_offset
190             -text_get_string_at_offset
191             -text_get_character_at_offset
192             -text_get_character_extents
193             -text_get_offset_at_point
194             -text_get_range_extents
195             -text_get_bounded_ranges
196             -text_get_n_selections
197             -text_get_selection
198             -text_add_selection
199             -text_remove_selection
200             -text_set_selection
201- Value
202             -value_get_minimum_value
203             -value_get_current_value
204             -value_get_maximum_value
205             -value_set_current_value
206             -value_get_minimum_increment
207