@testing-library/react-native 12.2.1 → 12.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/package.json +2 -3
  2. package/.DS_Store +0 -0
  3. package/.codecov.yml +0 -9
  4. package/.eslintcache +0 -1
  5. package/.eslintignore +0 -3
  6. package/.eslintrc +0 -19
  7. package/.flowconfig +0 -63
  8. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  9. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  10. package/.github/ISSUE_TEMPLATE/question.md +0 -9
  11. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  12. package/.github/actions/setup-deps/action.yml +0 -22
  13. package/.github/actions/setup-website-deps/action.yml +0 -22
  14. package/.github/dependabot.yml +0 -10
  15. package/.github/workflows/deploy-website.yml +0 -36
  16. package/.github/workflows/example-apps.yml +0 -25
  17. package/.github/workflows/main.yml +0 -103
  18. package/.gitignore +0 -11
  19. package/.prettierrc.js +0 -5
  20. package/CODE_OF_CONDUCT.md +0 -73
  21. package/CONTRIBUTING.md +0 -64
  22. package/babel.config.js +0 -22
  23. package/examples/basic/.expo/README.md +0 -15
  24. package/examples/basic/.expo/packager-info.json +0 -4
  25. package/examples/basic/.expo/settings.json +0 -10
  26. package/examples/basic/.expo-shared/assets.json +0 -4
  27. package/examples/basic/.gitignore +0 -14
  28. package/examples/basic/App.tsx +0 -20
  29. package/examples/basic/README.md +0 -11
  30. package/examples/basic/__tests__/App.test.tsx +0 -137
  31. package/examples/basic/app.json +0 -31
  32. package/examples/basic/assets/adaptive-icon.png +0 -0
  33. package/examples/basic/assets/favicon.png +0 -0
  34. package/examples/basic/assets/icon.png +0 -0
  35. package/examples/basic/assets/splash.png +0 -0
  36. package/examples/basic/babel.config.js +0 -6
  37. package/examples/basic/components/Home.tsx +0 -28
  38. package/examples/basic/components/LoginForm.tsx +0 -138
  39. package/examples/basic/jest-setup.ts +0 -7
  40. package/examples/basic/jest.config.js +0 -5
  41. package/examples/basic/package.json +0 -30
  42. package/examples/basic/tsconfig.json +0 -7
  43. package/examples/basic/yarn.lock +0 -7499
  44. package/examples/react-navigation/README.md +0 -16
  45. package/examples/react-navigation/babel.config.js +0 -4
  46. package/examples/react-navigation/jest-setup.js +0 -11
  47. package/examples/react-navigation/jest.config.js +0 -10
  48. package/examples/react-navigation/package.json +0 -31
  49. package/examples/react-navigation/src/App.js +0 -21
  50. package/examples/react-navigation/src/DrawerNavigator.js +0 -15
  51. package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
  52. package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
  53. package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
  54. package/examples/react-navigation/src/StackNavigator.js +0 -15
  55. package/examples/react-navigation/src/StackNavigator.test.js +0 -34
  56. package/examples/react-navigation/src/TabNavigator.js +0 -15
  57. package/examples/react-navigation/src/TabNavigator.test.js +0 -21
  58. package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
  59. package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
  60. package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
  61. package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
  62. package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
  63. package/examples/react-navigation/src/test-utils.js +0 -12
  64. package/examples/react-navigation/yarn.lock +0 -5018
  65. package/examples/redux/App.js +0 -27
  66. package/examples/redux/README.md +0 -5
  67. package/examples/redux/actions/todoActions.js +0 -25
  68. package/examples/redux/babel.config.js +0 -6
  69. package/examples/redux/components/AddTodo.js +0 -73
  70. package/examples/redux/components/AddTodo.test.js +0 -27
  71. package/examples/redux/components/TodoElem.js +0 -25
  72. package/examples/redux/components/TodoList.js +0 -29
  73. package/examples/redux/components/TodoList.test.js +0 -34
  74. package/examples/redux/index.js +0 -8
  75. package/examples/redux/jest-setup.js +0 -2
  76. package/examples/redux/jest.config.js +0 -4
  77. package/examples/redux/package.json +0 -23
  78. package/examples/redux/reducers/index.js +0 -6
  79. package/examples/redux/reducers/todoReducer.js +0 -27
  80. package/examples/redux/store.js +0 -10
  81. package/examples/redux/test-utils.js +0 -11
  82. package/examples/redux/yarn.lock +0 -4819
  83. package/experiments-app/.expo/README.md +0 -15
  84. package/experiments-app/.expo/devices.json +0 -3
  85. package/experiments-app/.expo/packager-info.json +0 -9
  86. package/experiments-app/.expo/settings.json +0 -9
  87. package/experiments-app/.gitignore +0 -17
  88. package/experiments-app/.prettierrc.js +0 -5
  89. package/experiments-app/app.json +0 -30
  90. package/experiments-app/assets/adaptive-icon.png +0 -0
  91. package/experiments-app/assets/favicon.png +0 -0
  92. package/experiments-app/assets/icon.png +0 -0
  93. package/experiments-app/assets/splash.png +0 -0
  94. package/experiments-app/babel.config.js +0 -6
  95. package/experiments-app/index.js +0 -4
  96. package/experiments-app/package.json +0 -29
  97. package/experiments-app/src/App.tsx +0 -31
  98. package/experiments-app/src/MainScreen.tsx +0 -52
  99. package/experiments-app/src/experiments.ts +0 -35
  100. package/experiments-app/src/screens/FlatListEvents.tsx +0 -57
  101. package/experiments-app/src/screens/ScrollViewEvents.tsx +0 -65
  102. package/experiments-app/src/screens/SectionListEvents.tsx +0 -91
  103. package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -42
  104. package/experiments-app/src/screens/TextInputEvents.tsx +0 -48
  105. package/experiments-app/src/utils/helpers.ts +0 -18
  106. package/experiments-app/tsconfig.json +0 -6
  107. package/experiments-app/yarn.lock +0 -6709
  108. package/experiments-rtl/.babelrc +0 -8
  109. package/experiments-rtl/.eslintrc.json +0 -3
  110. package/experiments-rtl/.gitignore +0 -35
  111. package/experiments-rtl/README.md +0 -34
  112. package/experiments-rtl/jest-setup.js +0 -1
  113. package/experiments-rtl/jest.config.js +0 -4
  114. package/experiments-rtl/next.config.js +0 -4
  115. package/experiments-rtl/package.json +0 -38
  116. package/experiments-rtl/postcss.config.js +0 -6
  117. package/experiments-rtl/public/next.svg +0 -1
  118. package/experiments-rtl/public/vercel.svg +0 -1
  119. package/experiments-rtl/src/app/__tests__/click.test.tsx +0 -31
  120. package/experiments-rtl/src/app/__tests__/managed-text-input.test.tsx +0 -51
  121. package/experiments-rtl/src/app/globals.css +0 -27
  122. package/experiments-rtl/src/app/layout.tsx +0 -22
  123. package/experiments-rtl/src/app/page.tsx +0 -113
  124. package/experiments-rtl/tailwind.config.ts +0 -20
  125. package/experiments-rtl/tsconfig.json +0 -28
  126. package/experiments-rtl/yarn.lock +0 -5418
  127. package/flow-typed/npm/jest_v26.x.x.js +0 -1218
  128. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
  129. package/jest-setup.ts +0 -10
  130. package/renovate.json +0 -19
  131. package/scripts/test_react_17 +0 -12
  132. package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
  133. package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
  134. package/src/__tests__/act.test.tsx +0 -56
  135. package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
  136. package/src/__tests__/auto-cleanup.test.tsx +0 -50
  137. package/src/__tests__/cleanup.test.tsx +0 -26
  138. package/src/__tests__/config.test.ts +0 -55
  139. package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
  140. package/src/__tests__/fireEvent.test.tsx +0 -485
  141. package/src/__tests__/host-component-names.test.tsx +0 -109
  142. package/src/__tests__/host-text-nesting.test.tsx +0 -90
  143. package/src/__tests__/jest-native.test.tsx +0 -84
  144. package/src/__tests__/questionsBoard.test.tsx +0 -62
  145. package/src/__tests__/react-native-api.test.tsx +0 -126
  146. package/src/__tests__/render-debug.test.tsx +0 -207
  147. package/src/__tests__/render-stringValidation.test.tsx +0 -157
  148. package/src/__tests__/render.test.tsx +0 -256
  149. package/src/__tests__/renderHook.test.tsx +0 -114
  150. package/src/__tests__/screen.test.tsx +0 -66
  151. package/src/__tests__/timerUtils.ts +0 -7
  152. package/src/__tests__/timers.test.ts +0 -27
  153. package/src/__tests__/waitFor.test.tsx +0 -327
  154. package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
  155. package/src/__tests__/within.test.tsx +0 -96
  156. package/src/act.ts +0 -86
  157. package/src/cleanup.ts +0 -15
  158. package/src/config.ts +0 -72
  159. package/src/fireEvent.ts +0 -159
  160. package/src/flush-micro-tasks.ts +0 -30
  161. package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
  162. package/src/helpers/__tests__/component-tree.test.tsx +0 -226
  163. package/src/helpers/__tests__/format-default.tsx +0 -114
  164. package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
  165. package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
  166. package/src/helpers/__tests__/query-name.test.ts +0 -10
  167. package/src/helpers/__tests__/timers.test.ts +0 -8
  168. package/src/helpers/accessiblity.ts +0 -108
  169. package/src/helpers/component-tree.ts +0 -94
  170. package/src/helpers/debugDeep.ts +0 -27
  171. package/src/helpers/debugShallow.ts +0 -22
  172. package/src/helpers/deprecation.ts +0 -53
  173. package/src/helpers/errors.ts +0 -66
  174. package/src/helpers/findAll.ts +0 -70
  175. package/src/helpers/format-default.ts +0 -72
  176. package/src/helpers/format.ts +0 -47
  177. package/src/helpers/getTextContent.ts +0 -20
  178. package/src/helpers/host-component-names.tsx +0 -88
  179. package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
  180. package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
  181. package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
  182. package/src/helpers/matchers/accessibilityState.ts +0 -48
  183. package/src/helpers/matchers/accessibilityValue.ts +0 -24
  184. package/src/helpers/matchers/matchArrayProp.ts +0 -21
  185. package/src/helpers/matchers/matchLabelText.ts +0 -50
  186. package/src/helpers/matchers/matchObjectProp.ts +0 -25
  187. package/src/helpers/matchers/matchStringProp.ts +0 -23
  188. package/src/helpers/matchers/matchTextContent.ts +0 -20
  189. package/src/helpers/pointer-events.ts +0 -27
  190. package/src/helpers/query-name.ts +0 -4
  191. package/src/helpers/stringValidation.ts +0 -36
  192. package/src/helpers/timers.ts +0 -98
  193. package/src/index.ts +0 -33
  194. package/src/matches.ts +0 -49
  195. package/src/pure.ts +0 -27
  196. package/src/queries/__tests__/a11yState.test.tsx +0 -439
  197. package/src/queries/__tests__/a11yValue.test.tsx +0 -309
  198. package/src/queries/__tests__/displayValue.test.tsx +0 -221
  199. package/src/queries/__tests__/hintText.test.tsx +0 -177
  200. package/src/queries/__tests__/labelText.test.tsx +0 -242
  201. package/src/queries/__tests__/makeQueries.test.tsx +0 -235
  202. package/src/queries/__tests__/placeholderText.test.tsx +0 -136
  203. package/src/queries/__tests__/role-value.test.tsx +0 -176
  204. package/src/queries/__tests__/role.test.tsx +0 -824
  205. package/src/queries/__tests__/testId.test.tsx +0 -200
  206. package/src/queries/__tests__/text.test.tsx +0 -556
  207. package/src/queries/a11yState.ts +0 -127
  208. package/src/queries/a11yValue.ts +0 -127
  209. package/src/queries/displayValue.ts +0 -71
  210. package/src/queries/hintText.ts +0 -107
  211. package/src/queries/labelText.ts +0 -57
  212. package/src/queries/makeQueries.ts +0 -255
  213. package/src/queries/options.ts +0 -14
  214. package/src/queries/placeholderText.ts +0 -72
  215. package/src/queries/role.ts +0 -131
  216. package/src/queries/testId.ts +0 -66
  217. package/src/queries/text.ts +0 -63
  218. package/src/queries/unsafeProps.ts +0 -76
  219. package/src/queries/unsafeType.ts +0 -73
  220. package/src/react-versions.ts +0 -11
  221. package/src/render-act.ts +0 -19
  222. package/src/render.tsx +0 -183
  223. package/src/renderHook.tsx +0 -56
  224. package/src/screen.ts +0 -123
  225. package/src/shallow.ts +0 -18
  226. package/src/test-utils/events.ts +0 -24
  227. package/src/test-utils/index.ts +0 -1
  228. package/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +0 -269
  229. package/src/user-event/__tests__/clear.test.tsx +0 -217
  230. package/src/user-event/clear.ts +0 -59
  231. package/src/user-event/event-builder/common.ts +0 -66
  232. package/src/user-event/event-builder/index.ts +0 -7
  233. package/src/user-event/event-builder/text-input.ts +0 -86
  234. package/src/user-event/index.ts +0 -18
  235. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
  236. package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
  237. package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
  238. package/src/user-event/press/__tests__/press.test.tsx +0 -457
  239. package/src/user-event/press/constants.ts +0 -7
  240. package/src/user-event/press/index.ts +0 -1
  241. package/src/user-event/press/press.ts +0 -163
  242. package/src/user-event/setup/index.ts +0 -2
  243. package/src/user-event/setup/setup.ts +0 -142
  244. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
  245. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
  246. package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
  247. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -120
  248. package/src/user-event/type/__tests__/type.test.tsx +0 -335
  249. package/src/user-event/type/index.ts +0 -1
  250. package/src/user-event/type/parseKeys.ts +0 -41
  251. package/src/user-event/type/type.ts +0 -138
  252. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
  253. package/src/user-event/utils/__tests__/wait.test.ts +0 -62
  254. package/src/user-event/utils/content-size.ts +0 -25
  255. package/src/user-event/utils/dispatch-event.ts +0 -38
  256. package/src/user-event/utils/host-components.ts +0 -6
  257. package/src/user-event/utils/index.ts +0 -6
  258. package/src/user-event/utils/text-range.ts +0 -4
  259. package/src/user-event/utils/wait.ts +0 -15
  260. package/src/user-event/utils/warn-about-real-timers.ts +0 -13
  261. package/src/waitFor.ts +0 -228
  262. package/src/waitForElementToBeRemoved.ts +0 -42
  263. package/src/within.ts +0 -30
  264. package/tsconfig.json +0 -17
  265. package/tsconfig.release.json +0 -8
  266. package/website/.gitignore +0 -20
  267. package/website/README.md +0 -33
  268. package/website/docker/.dockerignore +0 -3
  269. package/website/docker/Dockerfile +0 -9
  270. package/website/docker/docker-compose.yml +0 -11
  271. package/website/docs/API.md +0 -940
  272. package/website/docs/EslintPLluginTestingLibrary.md +0 -28
  273. package/website/docs/FAQ.md +0 -44
  274. package/website/docs/GettingStarted.md +0 -100
  275. package/website/docs/HowShouldIQuery.md +0 -21
  276. package/website/docs/MigrationV11.md +0 -64
  277. package/website/docs/MigrationV12.md +0 -67
  278. package/website/docs/MigrationV2.md +0 -126
  279. package/website/docs/MigrationV7.md +0 -119
  280. package/website/docs/MigrationV9.md +0 -67
  281. package/website/docs/Queries.md +0 -572
  282. package/website/docs/ReactNavigation.md +0 -371
  283. package/website/docs/ReduxIntegration.md +0 -137
  284. package/website/docs/TestingEnvironment.md +0 -154
  285. package/website/docs/Troubleshooting.md +0 -44
  286. package/website/docs/UnderstandingAct.md +0 -227
  287. package/website/docs/UserEvent.md +0 -191
  288. package/website/docusaurus.config.js +0 -114
  289. package/website/package.json +0 -31
  290. package/website/sidebars.js +0 -20
  291. package/website/src/components/Feature.js +0 -31
  292. package/website/src/css/custom.css +0 -13
  293. package/website/src/css/index.module.css +0 -77
  294. package/website/src/pages/index.js +0 -82
  295. package/website/static/.nojekyll +0 -0
  296. package/website/static/css/custom.css +0 -28
  297. package/website/static/img/hit.png +0 -0
  298. package/website/static/img/locomotive.png +0 -0
  299. package/website/static/img/owl.png +0 -0
  300. package/website/static/img/tools.png +0 -0
  301. package/website/yarn.lock +0 -7669
  302. package/yarn.lock +0 -7765
@@ -1,439 +0,0 @@
1
- /* eslint-disable no-console */
2
- import * as React from 'react';
3
- import { View, Text, Pressable, TouchableOpacity } from 'react-native';
4
- import { render } from '../..';
5
-
6
- type ConsoleLogMock = jest.Mock<typeof console.log>;
7
-
8
- beforeEach(() => {
9
- jest.spyOn(console, 'warn').mockImplementation(() => {});
10
- });
11
-
12
- const TEXT_LABEL = 'cool text';
13
-
14
- const Typography = ({ children, ...rest }: any) => {
15
- return <Text {...rest}>{children}</Text>;
16
- };
17
-
18
- const Button = ({ children }: { children: React.ReactNode }) => (
19
- <TouchableOpacity>
20
- <Typography accessibilityState={{ expanded: false, selected: true }}>
21
- {children}
22
- </Typography>
23
- </TouchableOpacity>
24
- );
25
-
26
- const Section = () => (
27
- <>
28
- <Typography accessibilityState={{ expanded: false }}>Title</Typography>
29
- <Button>{TEXT_LABEL}</Button>
30
- </>
31
- );
32
-
33
- test('getByA11yState, queryByA11yState, findByA11yState', async () => {
34
- const { getByA11yState, queryByA11yState, findByA11yState } = render(
35
- <Section />
36
- );
37
-
38
- expect(getByA11yState({ selected: true }).props.accessibilityState).toEqual({
39
- selected: true,
40
- expanded: false,
41
- });
42
- expect(
43
- queryByA11yState({ selected: true })?.props.accessibilityState
44
- ).toEqual({
45
- selected: true,
46
- expanded: false,
47
- });
48
-
49
- expect(() => getByA11yState({ disabled: true })).toThrow(
50
- 'Unable to find an element with disabled state: true'
51
- );
52
- expect(queryByA11yState({ disabled: true })).toEqual(null);
53
-
54
- expect(() => getByA11yState({ expanded: false })).toThrow(
55
- 'Found multiple elements with expanded state: false'
56
- );
57
- expect(() => queryByA11yState({ expanded: false })).toThrow(
58
- 'Found multiple elements with expanded state: false'
59
- );
60
-
61
- const asyncButton = await findByA11yState({ selected: true });
62
- expect(asyncButton.props.accessibilityState).toEqual({
63
- selected: true,
64
- expanded: false,
65
- });
66
- await expect(findByA11yState({ disabled: true })).rejects.toThrow(
67
- 'Unable to find an element with disabled state: true'
68
- );
69
- await expect(findByA11yState({ expanded: false })).rejects.toThrow(
70
- 'Found multiple elements with expanded state: false'
71
- );
72
- });
73
-
74
- test('getAllByA11yState, queryAllByA11yState, findAllByA11yState', async () => {
75
- const { getAllByA11yState, queryAllByA11yState, findAllByA11yState } = render(
76
- <Section />
77
- );
78
-
79
- expect(getAllByA11yState({ selected: true })).toHaveLength(1);
80
- expect(queryAllByA11yState({ selected: true })).toHaveLength(1);
81
-
82
- expect(() => getAllByA11yState({ disabled: true })).toThrow(
83
- 'Unable to find an element with disabled state: true'
84
- );
85
- expect(queryAllByA11yState({ disabled: true })).toEqual([]);
86
-
87
- expect(getAllByA11yState({ expanded: false })).toHaveLength(2);
88
- expect(queryAllByA11yState({ expanded: false })).toHaveLength(2);
89
-
90
- await expect(findAllByA11yState({ selected: true })).resolves.toHaveLength(1);
91
- await expect(findAllByA11yState({ disabled: true })).rejects.toThrow(
92
- 'Unable to find an element with disabled state: true'
93
- );
94
- await expect(findAllByA11yState({ expanded: false })).resolves.toHaveLength(
95
- 2
96
- );
97
- });
98
-
99
- describe('checked state matching', () => {
100
- it('handles true', () => {
101
- const view = render(<View accessibilityState={{ checked: true }} />);
102
-
103
- expect(view.getByA11yState({ checked: true })).toBeTruthy();
104
- expect(view.queryByA11yState({ checked: 'mixed' })).toBeFalsy();
105
- expect(view.queryByA11yState({ checked: false })).toBeFalsy();
106
- });
107
-
108
- it('handles mixed', () => {
109
- const view = render(<View accessibilityState={{ checked: 'mixed' }} />);
110
-
111
- expect(view.getByA11yState({ checked: 'mixed' })).toBeTruthy();
112
- expect(view.queryByA11yState({ checked: true })).toBeFalsy();
113
- expect(view.queryByA11yState({ checked: false })).toBeFalsy();
114
- });
115
-
116
- it('handles false', () => {
117
- const view = render(<View accessibilityState={{ checked: false }} />);
118
-
119
- expect(view.getByA11yState({ checked: false })).toBeTruthy();
120
- expect(view.queryByA11yState({ checked: true })).toBeFalsy();
121
- expect(view.queryByA11yState({ checked: 'mixed' })).toBeFalsy();
122
- });
123
-
124
- it('handles default', () => {
125
- const view = render(<View accessibilityState={{}} />);
126
-
127
- expect(view.queryByA11yState({ checked: false })).toBeFalsy();
128
- expect(view.queryByA11yState({ checked: true })).toBeFalsy();
129
- expect(view.queryByA11yState({ checked: 'mixed' })).toBeFalsy();
130
- });
131
- });
132
-
133
- describe('expanded state matching', () => {
134
- it('handles true', () => {
135
- const view = render(<View accessibilityState={{ expanded: true }} />);
136
-
137
- expect(view.getByA11yState({ expanded: true })).toBeTruthy();
138
- expect(view.queryByA11yState({ expanded: false })).toBeFalsy();
139
- });
140
-
141
- it('handles false', () => {
142
- const view = render(<View accessibilityState={{ expanded: false }} />);
143
-
144
- expect(view.getByA11yState({ expanded: false })).toBeTruthy();
145
- expect(view.queryByA11yState({ expanded: true })).toBeFalsy();
146
- });
147
-
148
- it('handles default', () => {
149
- const view = render(<View accessibilityState={{}} />);
150
-
151
- expect(view.queryByA11yState({ expanded: false })).toBeFalsy();
152
- expect(view.queryByA11yState({ expanded: true })).toBeFalsy();
153
- });
154
- });
155
-
156
- describe('disabled state matching', () => {
157
- it('handles true', () => {
158
- const view = render(<View accessibilityState={{ disabled: true }} />);
159
-
160
- expect(view.getByA11yState({ disabled: true })).toBeTruthy();
161
- expect(view.queryByA11yState({ disabled: false })).toBeFalsy();
162
- });
163
-
164
- it('handles false', () => {
165
- const view = render(<View accessibilityState={{ disabled: false }} />);
166
-
167
- expect(view.getByA11yState({ disabled: false })).toBeTruthy();
168
- expect(view.queryByA11yState({ disabled: true })).toBeFalsy();
169
- });
170
-
171
- it('handles default', () => {
172
- const view = render(<View accessibilityState={{}} />);
173
-
174
- expect(view.getByA11yState({ disabled: false })).toBeTruthy();
175
- expect(view.queryByA11yState({ disabled: true })).toBeFalsy();
176
- });
177
- });
178
-
179
- describe('busy state matching', () => {
180
- it('handles true', () => {
181
- const view = render(<View accessibilityState={{ busy: true }} />);
182
-
183
- expect(view.getByA11yState({ busy: true })).toBeTruthy();
184
- expect(view.queryByA11yState({ busy: false })).toBeFalsy();
185
- });
186
-
187
- it('handles false', () => {
188
- const view = render(<View accessibilityState={{ busy: false }} />);
189
-
190
- expect(view.getByA11yState({ busy: false })).toBeTruthy();
191
- expect(view.queryByA11yState({ busy: true })).toBeFalsy();
192
- });
193
-
194
- it('handles default', () => {
195
- const view = render(<View accessibilityState={{}} />);
196
-
197
- expect(view.getByA11yState({ busy: false })).toBeTruthy();
198
- expect(view.queryByA11yState({ busy: true })).toBeFalsy();
199
- });
200
- });
201
-
202
- describe('selected state matching', () => {
203
- it('handles true', () => {
204
- const view = render(<View accessibilityState={{ selected: true }} />);
205
-
206
- expect(view.getByA11yState({ selected: true })).toBeTruthy();
207
- expect(view.queryByA11yState({ selected: false })).toBeFalsy();
208
- });
209
-
210
- it('handles false', () => {
211
- const view = render(<View accessibilityState={{ selected: false }} />);
212
-
213
- expect(view.getByA11yState({ selected: false })).toBeTruthy();
214
- expect(view.queryByA11yState({ selected: true })).toBeFalsy();
215
- });
216
-
217
- it('handles default', () => {
218
- const view = render(<View accessibilityState={{}} />);
219
-
220
- expect(view.getByA11yState({ selected: false })).toBeTruthy();
221
- expect(view.queryByA11yState({ selected: true })).toBeFalsy();
222
- });
223
- });
224
-
225
- test('*ByA11yState on Pressable with "disabled" prop', () => {
226
- const view = render(<Pressable disabled />);
227
- expect(view.getByA11yState({ disabled: true })).toBeTruthy();
228
- expect(view.queryByA11yState({ disabled: false })).toBeFalsy();
229
- });
230
-
231
- test('*ByA11yState on TouchableOpacity with "disabled" prop', () => {
232
- const view = render(<TouchableOpacity disabled />);
233
- expect(view.getByA11yState({ disabled: true })).toBeTruthy();
234
- expect(view.queryByA11yState({ disabled: false })).toBeFalsy();
235
- });
236
-
237
- test('byA11yState queries support hidden option', () => {
238
- const { getByA11yState, queryByA11yState } = render(
239
- <Pressable
240
- accessibilityState={{ expanded: false }}
241
- style={{ display: 'none' }}
242
- >
243
- <Text>Hidden from accessibility</Text>
244
- </Pressable>
245
- );
246
-
247
- expect(
248
- getByA11yState({ expanded: false }, { includeHiddenElements: true })
249
- ).toBeTruthy();
250
-
251
- expect(queryByA11yState({ expanded: false })).toBeFalsy();
252
- expect(
253
- queryByA11yState({ expanded: false }, { includeHiddenElements: false })
254
- ).toBeFalsy();
255
- expect(() =>
256
- getByA11yState({ expanded: false }, { includeHiddenElements: false })
257
- ).toThrowErrorMatchingInlineSnapshot(`
258
- "Unable to find an element with expanded state: false
259
-
260
- <View
261
- accessibilityState={
262
- {
263
- "expanded": false,
264
- }
265
- }
266
- style={
267
- {
268
- "display": "none",
269
- }
270
- }
271
- >
272
- <Text>
273
- Hidden from accessibility
274
- </Text>
275
- </View>"
276
- `);
277
- });
278
-
279
- test('*ByA11yState deprecation warnings', () => {
280
- const mockCalls = (console.warn as ConsoleLogMock).mock.calls;
281
- const view = render(<View accessibilityState={{ disabled: true }} />);
282
-
283
- view.getByA11yState({ disabled: true });
284
- expect(mockCalls[0][0]).toMatchInlineSnapshot(`
285
- "getByA11yState(...) is deprecated and will be removed in the future.
286
-
287
- Use getByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
288
- `);
289
-
290
- view.getAllByA11yState({ disabled: true });
291
- expect(mockCalls[1][0]).toMatchInlineSnapshot(`
292
- "getAllByA11yState(...) is deprecated and will be removed in the future.
293
-
294
- Use getAllByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
295
- `);
296
-
297
- view.queryByA11yState({ disabled: true });
298
- expect(mockCalls[2][0]).toMatchInlineSnapshot(`
299
- "queryByA11yState(...) is deprecated and will be removed in the future.
300
-
301
- Use queryByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
302
- `);
303
-
304
- view.queryAllByA11yState({ disabled: true });
305
- expect(mockCalls[3][0]).toMatchInlineSnapshot(`
306
- "queryAllByA11yState(...) is deprecated and will be removed in the future.
307
-
308
- Use queryAllByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
309
- `);
310
-
311
- view.findByA11yState({ disabled: true });
312
- expect(mockCalls[4][0]).toMatchInlineSnapshot(`
313
- "findByA11yState(...) is deprecated and will be removed in the future.
314
-
315
- Use findByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
316
- `);
317
-
318
- view.findAllByA11yState({ disabled: true });
319
- expect(mockCalls[5][0]).toMatchInlineSnapshot(`
320
- "findAllByA11yState(...) is deprecated and will be removed in the future.
321
-
322
- Use findAllByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
323
- `);
324
- });
325
-
326
- test('*ByAccessibilityState deprecation warnings', () => {
327
- const mockCalls = (console.warn as ConsoleLogMock).mock.calls;
328
- const view = render(<View accessibilityState={{ disabled: true }} />);
329
-
330
- view.getByAccessibilityState({ disabled: true });
331
- expect(mockCalls[0][0]).toMatchInlineSnapshot(`
332
- "getByAccessibilityState(...) is deprecated and will be removed in the future.
333
-
334
- Use getByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
335
- `);
336
-
337
- view.getAllByAccessibilityState({ disabled: true });
338
- expect(mockCalls[1][0]).toMatchInlineSnapshot(`
339
- "getAllByAccessibilityState(...) is deprecated and will be removed in the future.
340
-
341
- Use getAllByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
342
- `);
343
-
344
- view.queryByAccessibilityState({ disabled: true });
345
- expect(mockCalls[2][0]).toMatchInlineSnapshot(`
346
- "queryByAccessibilityState(...) is deprecated and will be removed in the future.
347
-
348
- Use queryByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
349
- `);
350
-
351
- view.queryAllByAccessibilityState({ disabled: true });
352
- expect(mockCalls[3][0]).toMatchInlineSnapshot(`
353
- "queryAllByAccessibilityState(...) is deprecated and will be removed in the future.
354
-
355
- Use queryAllByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
356
- `);
357
-
358
- view.findByAccessibilityState({ disabled: true });
359
- expect(mockCalls[4][0]).toMatchInlineSnapshot(`
360
- "findByAccessibilityState(...) is deprecated and will be removed in the future.
361
-
362
- Use findByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
363
- `);
364
-
365
- view.findAllByAccessibilityState({ disabled: true });
366
- expect(mockCalls[5][0]).toMatchInlineSnapshot(`
367
- "findAllByAccessibilityState(...) is deprecated and will be removed in the future.
368
-
369
- Use findAllByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead."
370
- `);
371
- });
372
-
373
- test('error message renders the element tree, preserving only helpful props', async () => {
374
- const view = render(
375
- <Text accessibilityState={{ checked: false }} onPress={() => null}>
376
- Some text
377
- </Text>
378
- );
379
-
380
- expect(() => view.getByA11yState({ checked: true }))
381
- .toThrowErrorMatchingInlineSnapshot(`
382
- "Unable to find an element with checked state: true
383
-
384
- <Text
385
- accessibilityState={
386
- {
387
- "checked": false,
388
- }
389
- }
390
- >
391
- Some text
392
- </Text>"
393
- `);
394
-
395
- expect(() => view.getAllByA11yState({ checked: true }))
396
- .toThrowErrorMatchingInlineSnapshot(`
397
- "Unable to find an element with checked state: true
398
-
399
- <Text
400
- accessibilityState={
401
- {
402
- "checked": false,
403
- }
404
- }
405
- >
406
- Some text
407
- </Text>"
408
- `);
409
-
410
- await expect(view.findByA11yState({ checked: true })).rejects
411
- .toThrowErrorMatchingInlineSnapshot(`
412
- "Unable to find an element with checked state: true
413
-
414
- <Text
415
- accessibilityState={
416
- {
417
- "checked": false,
418
- }
419
- }
420
- >
421
- Some text
422
- </Text>"
423
- `);
424
-
425
- await expect(view.findAllByA11yState({ checked: true })).rejects
426
- .toThrowErrorMatchingInlineSnapshot(`
427
- "Unable to find an element with checked state: true
428
-
429
- <Text
430
- accessibilityState={
431
- {
432
- "checked": false,
433
- }
434
- }
435
- >
436
- Some text
437
- </Text>"
438
- `);
439
- });