containsSemantics function

Matcher containsSemantics({
  1. String? identifier,
  2. String? label,
  3. AttributedString? attributedLabel,
  4. String? hint,
  5. AttributedString? attributedHint,
  6. String? value,
  7. AttributedString? attributedValue,
  8. String? increasedValue,
  9. AttributedString? attributedIncreasedValue,
  10. String? decreasedValue,
  11. AttributedString? attributedDecreasedValue,
  12. String? tooltip,
  13. TextDirection? textDirection,
  14. Rect? rect,
  15. Size? size,
  16. double? elevation,
  17. double? thickness,
  18. int? platformViewId,
  19. int? maxValueLength,
  20. int? currentValueLength,
  21. SemanticsValidationResult? validationResult,
  22. SemanticsInputType? inputType,
  23. bool? hasCheckedState,
  24. bool? isChecked,
  25. bool? isCheckStateMixed,
  26. bool? isSelected,
  27. bool? hasSelectedState,
  28. bool? isButton,
  29. bool? isSlider,
  30. bool? isKeyboardKey,
  31. bool? isLink,
  32. bool? isFocused,
  33. bool? isFocusable,
  34. bool? isTextField,
  35. bool? isReadOnly,
  36. bool? hasEnabledState,
  37. bool? isEnabled,
  38. bool? isInMutuallyExclusiveGroup,
  39. bool? isHeader,
  40. bool? isObscured,
  41. bool? isMultiline,
  42. bool? namesRoute,
  43. bool? scopesRoute,
  44. bool? isHidden,
  45. bool? isImage,
  46. bool? isLiveRegion,
  47. bool? hasToggledState,
  48. bool? isToggled,
  49. bool? hasImplicitScrolling,
  50. bool? hasExpandedState,
  51. bool? isExpanded,
  52. bool? hasRequiredState,
  53. bool? isRequired,
  54. bool? hasTapAction,
  55. bool? hasFocusAction,
  56. bool? hasLongPressAction,
  57. bool? hasScrollLeftAction,
  58. bool? hasScrollRightAction,
  59. bool? hasScrollUpAction,
  60. bool? hasScrollDownAction,
  61. bool? hasIncreaseAction,
  62. bool? hasDecreaseAction,
  63. bool? hasShowOnScreenAction,
  64. bool? hasMoveCursorForwardByCharacterAction,
  65. bool? hasMoveCursorBackwardByCharacterAction,
  66. bool? hasMoveCursorForwardByWordAction,
  67. bool? hasMoveCursorBackwardByWordAction,
  68. bool? hasSetTextAction,
  69. bool? hasSetSelectionAction,
  70. bool? hasCopyAction,
  71. bool? hasCutAction,
  72. bool? hasPasteAction,
  73. bool? hasDidGainAccessibilityFocusAction,
  74. bool? hasDidLoseAccessibilityFocusAction,
  75. bool? hasDismissAction,
  76. String? onTapHint,
  77. String? onLongPressHint,
  78. List<CustomSemanticsAction>? customActions,
  79. List<Matcher>? children,
})

Asserts that a SemanticsNode contains the specified information.

There are no default expected values, so no unspecified values will be validated.

To find a SemanticsNode directly, use CommonFinders.semantics. These methods will search the semantics tree directly and avoid the edge cases that SemanticsController.find sometimes runs into.

To retrieve the semantics data of a widget, use SemanticsController.find with a FinderBase that returns a single widget. Semantics must be enabled in order to use this method.

Sample code

testWidgets('containsSemantics', (WidgetTester tester) async {
  final SemanticsHandle handle = tester.ensureSemantics();
  // ...
  expect(tester.getSemantics(find.text('hello')), containsSemantics(label: 'hello'));
  handle.dispose();
});

See also:

Implementation

Matcher containsSemantics({
  String? identifier,
  String? label,
  AttributedString? attributedLabel,
  String? hint,
  AttributedString? attributedHint,
  String? value,
  AttributedString? attributedValue,
  String? increasedValue,
  AttributedString? attributedIncreasedValue,
  String? decreasedValue,
  AttributedString? attributedDecreasedValue,
  String? tooltip,
  TextDirection? textDirection,
  Rect? rect,
  Size? size,
  double? elevation,
  double? thickness,
  int? platformViewId,
  int? maxValueLength,
  int? currentValueLength,
  SemanticsValidationResult? validationResult,
  ui.SemanticsInputType? inputType,
  // Flags
  bool? hasCheckedState,
  bool? isChecked,
  bool? isCheckStateMixed,
  bool? isSelected,
  bool? hasSelectedState,
  bool? isButton,
  bool? isSlider,
  bool? isKeyboardKey,
  bool? isLink,
  bool? isFocused,
  bool? isFocusable,
  bool? isTextField,
  bool? isReadOnly,
  bool? hasEnabledState,
  bool? isEnabled,
  bool? isInMutuallyExclusiveGroup,
  bool? isHeader,
  bool? isObscured,
  bool? isMultiline,
  bool? namesRoute,
  bool? scopesRoute,
  bool? isHidden,
  bool? isImage,
  bool? isLiveRegion,
  bool? hasToggledState,
  bool? isToggled,
  bool? hasImplicitScrolling,
  bool? hasExpandedState,
  bool? isExpanded,
  bool? hasRequiredState,
  bool? isRequired,
  // Actions
  bool? hasTapAction,
  bool? hasFocusAction,
  bool? hasLongPressAction,
  bool? hasScrollLeftAction,
  bool? hasScrollRightAction,
  bool? hasScrollUpAction,
  bool? hasScrollDownAction,
  bool? hasIncreaseAction,
  bool? hasDecreaseAction,
  bool? hasShowOnScreenAction,
  bool? hasMoveCursorForwardByCharacterAction,
  bool? hasMoveCursorBackwardByCharacterAction,
  bool? hasMoveCursorForwardByWordAction,
  bool? hasMoveCursorBackwardByWordAction,
  bool? hasSetTextAction,
  bool? hasSetSelectionAction,
  bool? hasCopyAction,
  bool? hasCutAction,
  bool? hasPasteAction,
  bool? hasDidGainAccessibilityFocusAction,
  bool? hasDidLoseAccessibilityFocusAction,
  bool? hasDismissAction,
  // Custom actions and overrides
  String? onTapHint,
  String? onLongPressHint,
  List<CustomSemanticsAction>? customActions,
  List<Matcher>? children,
}) {
  return _MatchesSemanticsData(
    identifier: identifier,
    label: label,
    attributedLabel: attributedLabel,
    hint: hint,
    attributedHint: attributedHint,
    value: value,
    attributedValue: attributedValue,
    increasedValue: increasedValue,
    attributedIncreasedValue: attributedIncreasedValue,
    decreasedValue: decreasedValue,
    attributedDecreasedValue: attributedDecreasedValue,
    tooltip: tooltip,
    textDirection: textDirection,
    rect: rect,
    size: size,
    platformViewId: platformViewId,
    customActions: customActions,
    maxValueLength: maxValueLength,
    currentValueLength: currentValueLength,
    validationResult: validationResult,
    inputType: inputType,
    // Flags
    hasCheckedState: hasCheckedState,
    isChecked: isChecked,
    isCheckStateMixed: isCheckStateMixed,
    isSelected: isSelected,
    hasSelectedState: hasSelectedState,
    isButton: isButton,
    isSlider: isSlider,
    isKeyboardKey: isKeyboardKey,
    isLink: isLink,
    isFocused: isFocused,
    isFocusable: isFocusable,
    isTextField: isTextField,
    isReadOnly: isReadOnly,
    hasEnabledState: hasEnabledState,
    isEnabled: isEnabled,
    isInMutuallyExclusiveGroup: isInMutuallyExclusiveGroup,
    isHeader: isHeader,
    isObscured: isObscured,
    isMultiline: isMultiline,
    namesRoute: namesRoute,
    scopesRoute: scopesRoute,
    isHidden: isHidden,
    isImage: isImage,
    isLiveRegion: isLiveRegion,
    hasToggledState: hasToggledState,
    isToggled: isToggled,
    hasImplicitScrolling: hasImplicitScrolling,
    hasExpandedState: hasExpandedState,
    isExpanded: isExpanded,
    hasRequiredState: hasRequiredState,
    isRequired: isRequired,
    // Actions
    hasTapAction: hasTapAction,
    hasFocusAction: hasFocusAction,
    hasLongPressAction: hasLongPressAction,
    hasScrollLeftAction: hasScrollLeftAction,
    hasScrollRightAction: hasScrollRightAction,
    hasScrollUpAction: hasScrollUpAction,
    hasScrollDownAction: hasScrollDownAction,
    hasIncreaseAction: hasIncreaseAction,
    hasDecreaseAction: hasDecreaseAction,
    hasShowOnScreenAction: hasShowOnScreenAction,
    hasMoveCursorForwardByCharacterAction: hasMoveCursorForwardByCharacterAction,
    hasMoveCursorBackwardByCharacterAction: hasMoveCursorBackwardByCharacterAction,
    hasMoveCursorForwardByWordAction: hasMoveCursorForwardByWordAction,
    hasMoveCursorBackwardByWordAction: hasMoveCursorBackwardByWordAction,
    hasSetTextAction: hasSetTextAction,
    hasSetSelectionAction: hasSetSelectionAction,
    hasCopyAction: hasCopyAction,
    hasCutAction: hasCutAction,
    hasPasteAction: hasPasteAction,
    hasDidGainAccessibilityFocusAction: hasDidGainAccessibilityFocusAction,
    hasDidLoseAccessibilityFocusAction: hasDidLoseAccessibilityFocusAction,
    hasDismissAction: hasDismissAction,
    // Custom actions and overrides
    children: children,
    onLongPressHint: onLongPressHint,
    onTapHint: onTapHint,
  );
}