@@ -213,7 +213,8 @@ impl TestingClient {
213
213
accessible_checkable : element. accessible_checkable ( ) . unwrap_or_default ( ) ,
214
214
size : send_logical_size ( element. size ( ) ) . into ( ) ,
215
215
absolute_position : send_logical_position ( element. absolute_position ( ) ) . into ( ) ,
216
- accessible_role : convert_accessible_role ( element. accessible_role ( ) . unwrap ( ) ) ,
216
+ accessible_role : convert_accessible_role ( element. accessible_role ( ) . unwrap ( ) )
217
+ . unwrap_or_default ( ) ,
217
218
} )
218
219
}
219
220
@@ -340,8 +341,10 @@ fn send_logical_position(pos: i_slint_core::api::LogicalPosition) -> proto::Logi
340
341
proto:: LogicalPosition { x : pos. x , y : pos. y }
341
342
}
342
343
343
- fn convert_accessible_role ( role : i_slint_core:: items:: AccessibleRole ) -> proto:: AccessibleRole {
344
- match role {
344
+ fn convert_accessible_role (
345
+ role : i_slint_core:: items:: AccessibleRole ,
346
+ ) -> Option < proto:: AccessibleRole > {
347
+ Some ( match role {
345
348
i_slint_core:: items:: AccessibleRole :: None => proto:: AccessibleRole :: Unknown ,
346
349
i_slint_core:: items:: AccessibleRole :: Button => proto:: AccessibleRole :: Button ,
347
350
i_slint_core:: items:: AccessibleRole :: Checkbox => proto:: AccessibleRole :: Checkbox ,
@@ -359,6 +362,14 @@ fn convert_accessible_role(role: i_slint_core::items::AccessibleRole) -> proto::
359
362
}
360
363
i_slint_core:: items:: AccessibleRole :: TextInput => proto:: AccessibleRole :: TextInput ,
361
364
i_slint_core:: items:: AccessibleRole :: Switch => proto:: AccessibleRole :: Switch ,
362
- _ => proto:: AccessibleRole :: Unknown ,
365
+ _ => return None ,
366
+ } )
367
+ }
368
+
369
+ #[ test]
370
+ fn test_accessibility_role_mapping_complete ( ) {
371
+ use strum:: IntoEnumIterator ;
372
+ for role in i_slint_core:: items:: AccessibleRole :: iter ( ) {
373
+ assert ! ( convert_accessible_role( role) . is_some( ) ) ;
363
374
}
364
375
}
0 commit comments