diff --git a/src/queries/__tests__/a11yStates.test.tsx b/src/queries/__tests__/a11yStates.test.tsx
deleted file mode 100644
index 7a01b0725..000000000
--- a/src/queries/__tests__/a11yStates.test.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import * as React from 'react';
-import { TouchableOpacity, Text } from 'react-native';
-import { render } from '../..';
-
-const TEXT_LABEL = 'cool text';
-// Little hack to make all the methods happy with type
-const NO_MATCHES_TEXT: any = 'not-existent-element';
-
-const getMultipleInstancesFoundMessage = (value: string) => {
- return `Found multiple elements with accessibilityStates: ${value}`;
-};
-
-const getNoInstancesFoundMessage = (value: string) => {
- return `Unable to find an element with accessibilityStates: ${value}`;
-};
-
-const Typography = ({ children, ...rest }: any) => {
- return {children};
-};
-
-const Button = ({ children }: { children: React.ReactNode }) => (
-
- {children}
-
-);
-
-const Section = () => (
- <>
-
- Title
-
-
- >
-);
-
-// TODO: accessibilityStates was removed from RN 0.62
-test.skip('getByA11yStates, queryByA11yStates', () => {
- const { getByA11yStates, queryByA11yStates } = render();
-
- expect(getByA11yStates('disabled').props.accessibilityStates).toEqual([
- 'selected',
- 'disabled',
- ]);
- const disabled = queryByA11yStates(['disabled']);
- expect(disabled?.props.accessibilityStates).toMatchObject([
- 'selected',
- 'disabled',
- ]);
- const disabledSelected = queryByA11yStates(['selected', 'disabled']);
- expect(disabledSelected?.props.accessibilityStates).toEqual([
- 'selected',
- 'disabled',
- ]);
-
- expect(() => getByA11yStates(NO_MATCHES_TEXT)).toThrow(
- getNoInstancesFoundMessage('accessibilityStates')
- );
- expect(queryByA11yStates(NO_MATCHES_TEXT)).toBeNull();
- expect(queryByA11yStates([])).toBeNull();
-
- expect(() => getByA11yStates('selected')).toThrow(
- getMultipleInstancesFoundMessage('["selected"]')
- );
- expect(() => queryByA11yStates('selected')).toThrow(
- getMultipleInstancesFoundMessage('["selected"]')
- );
-});
-
-// TODO: accessibilityStates was removed from RN 0.62
-test.skip('getAllByA11yStates, queryAllByA11yStates', () => {
- const { getAllByA11yStates, queryAllByA11yStates } = render();
-
- expect(getAllByA11yStates('selected')).toHaveLength(3);
- expect(queryAllByA11yStates(['selected'])).toHaveLength(3);
-
- expect(() => getAllByA11yStates([])).toThrow(
- getNoInstancesFoundMessage('[]')
- );
- expect(queryAllByA11yStates(NO_MATCHES_TEXT)).toEqual([]);
-});
diff --git a/src/queries/a11yStates.ts b/src/queries/a11yStates.ts
deleted file mode 100644
index fbceaa357..000000000
--- a/src/queries/a11yStates.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import type { ReactTestInstance } from 'react-test-renderer';
-import { AccessibilityState } from 'react-native';
-import { matchArrayProp } from '../helpers/matchers/matchArrayProp';
-import { makeQueries } from './makeQueries';
-import type {
- FindAllByQuery,
- FindByQuery,
- GetAllByQuery,
- GetByQuery,
- QueryAllByQuery,
- QueryByQuery,
-} from './makeQueries';
-
-type AccessibilityStateKey = keyof AccessibilityState;
-type AccessibilityStateKeys =
- | AccessibilityStateKey
- | Array;
-
-const queryAllByA11yStates = (
- instance: ReactTestInstance
-): ((
- accessibilityStates: AccessibilityStateKeys
-) => Array) =>
- function queryAllByA11yStatesFn(accessibilityStates) {
- return instance.findAll(
- (node) =>
- typeof node.type === 'string' &&
- matchArrayProp(node.props.accessibilityState, accessibilityStates)
- );
- };
-
-const getMultipleError = (states: AccessibilityStateKeys) =>
- `Found multiple elements with accessibilityState: ${JSON.stringify(states)}`;
-const getMissingError = (states: AccessibilityStateKeys) =>
- `Unable to find an element with accessibilityState: ${JSON.stringify(
- states
- )}`;
-
-const { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries(
- queryAllByA11yStates,
- getMissingError,
- getMultipleError
-);
-
-export type ByA11yStatesQueries = {
- getByA11yStates: GetByQuery;
- getAllByA11yStates: GetAllByQuery;
- queryByA11yStates: QueryByQuery;
- queryAllByA11yStates: QueryAllByQuery;
- findByA11yStates: FindByQuery;
- findAllByA11yStates: FindAllByQuery;
-
- getByAccessibilityStates: GetByQuery;
- getAllByAccessibilityStates: GetAllByQuery;
- queryByAccessibilityStates: QueryByQuery;
- queryAllByAccessibilityStates: QueryAllByQuery;
- findByAccessibilityStates: FindByQuery;
- findAllByAccessibilityStates: FindAllByQuery;
-};
-
-export const bindByA11yStatesQueries = (
- instance: ReactTestInstance
-): ByA11yStatesQueries => {
- const getByA11yStates = getBy(instance);
- const getAllByA11yStates = getAllBy(instance);
- const queryByA11yStates = queryBy(instance);
- const queryAllByA11yStates = queryAllBy(instance);
- const findByA11yStates = findBy(instance);
- const findAllByA11yStates = findAllBy(instance);
-
- return {
- getByA11yStates,
- getAllByA11yStates,
- queryByA11yStates,
- queryAllByA11yStates,
- findByA11yStates,
- findAllByA11yStates,
-
- getByAccessibilityStates: getByA11yStates,
- getAllByAccessibilityStates: getAllByA11yStates,
- queryByAccessibilityStates: queryByA11yStates,
- queryAllByAccessibilityStates: queryAllByA11yStates,
- findByAccessibilityStates: findByA11yStates,
- findAllByAccessibilityStates: findAllByA11yStates,
- };
-};
diff --git a/src/screen.ts b/src/screen.ts
index 5ce85f98d..34a1504d5 100644
--- a/src/screen.ts
+++ b/src/screen.ts
@@ -51,18 +51,6 @@ const defaultScreen: RenderResult = {
queryAllByRole: notImplemented,
findByRole: notImplemented,
findAllByRole: notImplemented,
- getByA11yStates: notImplemented,
- getAllByA11yStates: notImplemented,
- queryByA11yStates: notImplemented,
- queryAllByA11yStates: notImplemented,
- findByA11yStates: notImplemented,
- findAllByA11yStates: notImplemented,
- getByAccessibilityStates: notImplemented,
- getAllByAccessibilityStates: notImplemented,
- queryByAccessibilityStates: notImplemented,
- queryAllByAccessibilityStates: notImplemented,
- findByAccessibilityStates: notImplemented,
- findAllByAccessibilityStates: notImplemented,
getByA11yState: notImplemented,
getAllByA11yState: notImplemented,
queryByA11yState: notImplemented,
diff --git a/src/within.ts b/src/within.ts
index e76122202..d4d36751f 100644
--- a/src/within.ts
+++ b/src/within.ts
@@ -7,7 +7,6 @@ import { bindByLabelTextQueries } from './queries/labelText';
import { bindByHintTextQueries } from './queries/hintText';
import { bindByRoleQueries } from './queries/role';
import { bindByA11yStateQueries } from './queries/a11yState';
-import { bindByA11yStatesQueries } from './queries/a11yStates';
import { bindByA11yValueQueries } from './queries/a11yValue';
import { bindUnsafeByTypeQueries } from './queries/unsafeType';
import { bindUnsafeByPropsQueries } from './queries/unsafeProps';
@@ -22,7 +21,6 @@ export function within(instance: ReactTestInstance) {
...bindByHintTextQueries(instance),
...bindByRoleQueries(instance),
...bindByA11yStateQueries(instance),
- ...bindByA11yStatesQueries(instance),
...bindByA11yValueQueries(instance),
...bindUnsafeByTypeQueries(instance),
...bindUnsafeByPropsQueries(instance),
diff --git a/typings/index.flow.js b/typings/index.flow.js
index ead24d516..f371cc9cc 100644
--- a/typings/index.flow.js
+++ b/typings/index.flow.js
@@ -56,16 +56,6 @@ declare type A11yState = {|
expanded?: boolean,
|};
-declare type A11yStates =
- | 'disabled'
- | 'selected'
- | 'checked'
- | 'unchecked'
- | 'busy'
- | 'expanded'
- | 'collapsed'
- | 'hasPopup';
-
declare type A11yValue = {
min?: number,
max?: number,
@@ -266,25 +256,17 @@ interface A11yAPI {
waitForOptions?: WaitForOptions
) => FindAllReturn;
- // States
- getByA11yStates: (matcher: A11yStates | Array) => GetReturn;
- getAllByA11yStates: (matcher: A11yStates | Array) => GetAllReturn;
- queryByA11yStates: (matcher: A11yStates | Array) => QueryReturn;
- queryAllByA11yStates: (
- matcher: A11yStates | Array
- ) => QueryAllReturn;
-
// State
- getByA11yState: (matcher: A11yStates) => GetReturn;
- getAllByA11yState: (matcher: A11yStates) => GetAllReturn;
- queryByA11yState: (matcher: A11yStates) => QueryReturn;
- queryAllByA11yState: (matcher: A11yStates) => QueryAllReturn;
+ getByA11yState: (matcher: A11yState) => GetReturn;
+ getAllByA11yState: (matcher: A11yState) => GetAllReturn;
+ queryByA11yState: (matcher: A11yState) => QueryReturn;
+ queryAllByA11yState: (matcher: A11yState) => QueryAllReturn;
findByA11yState: (
- matcher: A11yStates,
+ matcher: A11yState,
waitForOptions?: WaitForOptions
) => FindReturn;
findAllByA11yState: (
- matcher: A11yStates,
+ matcher: A11yState,
waitForOptions?: WaitForOptions
) => FindAllReturn;
diff --git a/website/docs/API.md b/website/docs/API.md
index dc854dde5..dbb20559a 100644
--- a/website/docs/API.md
+++ b/website/docs/API.md
@@ -97,7 +97,7 @@ See [Queries](./Queries.md) for a complete list.
```jsx
import { render } from '@testing-library/react-native';
-const { getByText, queryByA11yStates } = render();
+const { getByText, queryByA11yState } = render();
```
### `update`
diff --git a/website/docs/Queries.md b/website/docs/Queries.md
index d1409e76c..65196a1ea 100644
--- a/website/docs/Queries.md
+++ b/website/docs/Queries.md
@@ -20,7 +20,6 @@ title: Queries
- [`ByTestId`](#bytestid)
- [`ByLabelText`](#bylabeltext)
- [`ByHintText`, `ByA11yHint`, `ByAccessibilityHint`](#byhinttext-bya11yhint-byaccessibilityhint)
- - [`ByA11yStates`, `ByAccessibilityStates`](#bya11ystates-byaccessibilitystates)
- [`ByRole`](#byrole)
- [`ByA11yState`, `ByAccessibilityState`](#bya11ystate-byaccessibilitystate)
- [`ByA11Value`, `ByAccessibilityValue`](#bya11value-byaccessibilityvalue)
@@ -177,21 +176,6 @@ const element = screen.getByHintText('Plays a song');
Please consult [Apple guidelines on how `accessibilityHint` should be used](https://developer.apple.com/documentation/objectivec/nsobject/1615093-accessibilityhint).
:::
-### `ByA11yStates`, `ByAccessibilityStates`
-
-> getByA11yStates, getAllByA11yStates, queryByA11yStates, queryAllByA11yStates
-> getByAccessibilityStates, getAllByAccessibilityStates, queryByAccessibilityStates, queryAllByAccessibilityStates
-
-Returns a `ReactTestInstance` with matching `accessibilityStates` prop.
-
-```jsx
-import { render, screen } from '@testing-library/react-native';
-
-render();
-const element = screen.getByA11yStates(['checked']);
-const element2 = screen.getByA11yStates('checked');
-```
-
### `ByRole`
> getByRole, getAllByRole, queryByRole, queryAllByRole, findByRole, findAllByRole