@testing-library/react-native 12.2.1 → 12.3.0

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 (395) hide show
  1. package/build/config.d.ts +1 -0
  2. package/build/config.js.map +1 -1
  3. package/build/fireEvent.js +2 -1
  4. package/build/fireEvent.js.map +1 -1
  5. package/build/helpers/accessiblity.d.ts +7 -0
  6. package/build/helpers/accessiblity.js +73 -2
  7. package/build/helpers/accessiblity.js.map +1 -1
  8. package/build/helpers/component-tree.d.ts +7 -0
  9. package/build/helpers/component-tree.js +18 -0
  10. package/build/helpers/component-tree.js.map +1 -1
  11. package/build/helpers/format-default.d.ts +1 -2
  12. package/build/helpers/format-default.js +22 -13
  13. package/build/helpers/format-default.js.map +1 -1
  14. package/build/helpers/format.js +1 -4
  15. package/build/helpers/format.js.map +1 -1
  16. package/build/helpers/host-component-names.d.ts +5 -0
  17. package/build/helpers/host-component-names.js +13 -1
  18. package/build/helpers/host-component-names.js.map +1 -1
  19. package/build/helpers/matchers/accessibilityState.js +3 -3
  20. package/build/helpers/matchers/accessibilityState.js.map +1 -1
  21. package/build/helpers/matchers/accessibilityValue.js +3 -2
  22. package/build/helpers/matchers/accessibilityValue.js.map +1 -1
  23. package/build/helpers/matchers/matchLabelText.d.ts +1 -1
  24. package/build/helpers/matchers/matchLabelText.js +5 -8
  25. package/build/helpers/matchers/matchLabelText.js.map +1 -1
  26. package/build/helpers/matchers/matchTextContent.js +2 -2
  27. package/build/helpers/matchers/matchTextContent.js.map +1 -1
  28. package/build/helpers/{getTextContent.js → text-content.js} +1 -1
  29. package/build/helpers/text-content.js.map +1 -0
  30. package/build/helpers/text-input.d.ts +3 -0
  31. package/build/helpers/text-input.js +21 -0
  32. package/build/helpers/text-input.js.map +1 -0
  33. package/build/matchers/extend-expect.d.js +2 -0
  34. package/build/matchers/extend-expect.d.js.map +1 -0
  35. package/build/matchers/extend-expect.d.ts +2 -0
  36. package/build/matchers/extend-expect.js +26 -0
  37. package/build/matchers/extend-expect.js.map +1 -0
  38. package/build/matchers/index.d.ts +9 -0
  39. package/build/matchers/index.js +75 -0
  40. package/build/matchers/index.js.map +1 -0
  41. package/build/matchers/to-be-checked.d.ts +6 -0
  42. package/build/matchers/to-be-checked.js +31 -0
  43. package/build/matchers/to-be-checked.js.map +1 -0
  44. package/build/matchers/to-be-disabled.d.ts +10 -0
  45. package/build/matchers/to-be-disabled.js +52 -0
  46. package/build/matchers/to-be-disabled.js.map +1 -0
  47. package/build/matchers/to-be-empty-element.d.ts +6 -0
  48. package/build/matchers/to-be-empty-element.js +20 -0
  49. package/build/matchers/to-be-empty-element.js.map +1 -0
  50. package/build/matchers/to-be-on-the-screen.d.ts +6 -0
  51. package/build/matchers/to-be-on-the-screen.js +29 -0
  52. package/build/matchers/to-be-on-the-screen.js.map +1 -0
  53. package/build/matchers/to-be-partially-checked.d.ts +6 -0
  54. package/build/matchers/to-be-partially-checked.js +28 -0
  55. package/build/matchers/to-be-partially-checked.js.map +1 -0
  56. package/build/matchers/to-be-visible.d.ts +6 -0
  57. package/build/matchers/to-be-visible.js +56 -0
  58. package/build/matchers/to-be-visible.js.map +1 -0
  59. package/build/matchers/to-have-display-value.d.ts +7 -0
  60. package/build/matchers/to-have-display-value.js +26 -0
  61. package/build/matchers/to-have-display-value.js.map +1 -0
  62. package/build/matchers/to-have-prop.d.ts +6 -0
  63. package/build/matchers/to-have-prop.js +35 -0
  64. package/build/matchers/to-have-prop.js.map +1 -0
  65. package/build/matchers/to-have-text-content.d.ts +7 -0
  66. package/build/matchers/to-have-text-content.js +21 -0
  67. package/build/matchers/to-have-text-content.js.map +1 -0
  68. package/build/matchers/utils.d.ts +18 -0
  69. package/build/matchers/utils.js +90 -0
  70. package/build/matchers/utils.js.map +1 -0
  71. package/build/matches.d.ts +1 -1
  72. package/build/matches.js.map +1 -1
  73. package/build/queries/displayValue.js +4 -3
  74. package/build/queries/displayValue.js.map +1 -1
  75. package/build/queries/labelText.js +2 -2
  76. package/build/queries/labelText.js.map +1 -1
  77. package/build/queries/role.js +1 -1
  78. package/build/queries/role.js.map +1 -1
  79. package/build/render.d.ts +12 -48
  80. package/build/user-event/clear.js +2 -1
  81. package/build/user-event/clear.js.map +1 -1
  82. package/build/user-event/press/press.js +2 -1
  83. package/build/user-event/press/press.js.map +1 -1
  84. package/build/user-event/type/type.js +2 -1
  85. package/build/user-event/type/type.js.map +1 -1
  86. package/build/user-event/utils/index.d.ts +0 -1
  87. package/build/user-event/utils/index.js +0 -11
  88. package/build/user-event/utils/index.js.map +1 -1
  89. package/package.json +6 -23
  90. package/.DS_Store +0 -0
  91. package/.codecov.yml +0 -9
  92. package/.eslintcache +0 -1
  93. package/.eslintignore +0 -3
  94. package/.eslintrc +0 -19
  95. package/.flowconfig +0 -63
  96. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  97. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  98. package/.github/ISSUE_TEMPLATE/question.md +0 -9
  99. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  100. package/.github/actions/setup-deps/action.yml +0 -22
  101. package/.github/actions/setup-website-deps/action.yml +0 -22
  102. package/.github/dependabot.yml +0 -10
  103. package/.github/workflows/deploy-website.yml +0 -36
  104. package/.github/workflows/example-apps.yml +0 -25
  105. package/.github/workflows/main.yml +0 -103
  106. package/.gitignore +0 -11
  107. package/.prettierrc.js +0 -5
  108. package/CODE_OF_CONDUCT.md +0 -73
  109. package/CONTRIBUTING.md +0 -64
  110. package/babel.config.js +0 -22
  111. package/build/helpers/getTextContent.js.map +0 -1
  112. package/build/user-event/utils/host-components.d.ts +0 -2
  113. package/build/user-event/utils/host-components.js +0 -11
  114. package/build/user-event/utils/host-components.js.map +0 -1
  115. package/examples/basic/.expo/README.md +0 -15
  116. package/examples/basic/.expo/packager-info.json +0 -4
  117. package/examples/basic/.expo/settings.json +0 -10
  118. package/examples/basic/.expo-shared/assets.json +0 -4
  119. package/examples/basic/.gitignore +0 -14
  120. package/examples/basic/App.tsx +0 -20
  121. package/examples/basic/README.md +0 -11
  122. package/examples/basic/__tests__/App.test.tsx +0 -137
  123. package/examples/basic/app.json +0 -31
  124. package/examples/basic/assets/adaptive-icon.png +0 -0
  125. package/examples/basic/assets/favicon.png +0 -0
  126. package/examples/basic/assets/icon.png +0 -0
  127. package/examples/basic/assets/splash.png +0 -0
  128. package/examples/basic/babel.config.js +0 -6
  129. package/examples/basic/components/Home.tsx +0 -28
  130. package/examples/basic/components/LoginForm.tsx +0 -138
  131. package/examples/basic/jest-setup.ts +0 -7
  132. package/examples/basic/jest.config.js +0 -5
  133. package/examples/basic/package.json +0 -30
  134. package/examples/basic/tsconfig.json +0 -7
  135. package/examples/basic/yarn.lock +0 -7499
  136. package/examples/react-navigation/README.md +0 -16
  137. package/examples/react-navigation/babel.config.js +0 -4
  138. package/examples/react-navigation/jest-setup.js +0 -11
  139. package/examples/react-navigation/jest.config.js +0 -10
  140. package/examples/react-navigation/package.json +0 -31
  141. package/examples/react-navigation/src/App.js +0 -21
  142. package/examples/react-navigation/src/DrawerNavigator.js +0 -15
  143. package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
  144. package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
  145. package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
  146. package/examples/react-navigation/src/StackNavigator.js +0 -15
  147. package/examples/react-navigation/src/StackNavigator.test.js +0 -34
  148. package/examples/react-navigation/src/TabNavigator.js +0 -15
  149. package/examples/react-navigation/src/TabNavigator.test.js +0 -21
  150. package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
  151. package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
  152. package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
  153. package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
  154. package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
  155. package/examples/react-navigation/src/test-utils.js +0 -12
  156. package/examples/react-navigation/yarn.lock +0 -5018
  157. package/examples/redux/App.js +0 -27
  158. package/examples/redux/README.md +0 -5
  159. package/examples/redux/actions/todoActions.js +0 -25
  160. package/examples/redux/babel.config.js +0 -6
  161. package/examples/redux/components/AddTodo.js +0 -73
  162. package/examples/redux/components/AddTodo.test.js +0 -27
  163. package/examples/redux/components/TodoElem.js +0 -25
  164. package/examples/redux/components/TodoList.js +0 -29
  165. package/examples/redux/components/TodoList.test.js +0 -34
  166. package/examples/redux/index.js +0 -8
  167. package/examples/redux/jest-setup.js +0 -2
  168. package/examples/redux/jest.config.js +0 -4
  169. package/examples/redux/package.json +0 -23
  170. package/examples/redux/reducers/index.js +0 -6
  171. package/examples/redux/reducers/todoReducer.js +0 -27
  172. package/examples/redux/store.js +0 -10
  173. package/examples/redux/test-utils.js +0 -11
  174. package/examples/redux/yarn.lock +0 -4819
  175. package/experiments-app/.expo/README.md +0 -15
  176. package/experiments-app/.expo/devices.json +0 -3
  177. package/experiments-app/.expo/packager-info.json +0 -9
  178. package/experiments-app/.expo/settings.json +0 -9
  179. package/experiments-app/.gitignore +0 -17
  180. package/experiments-app/.prettierrc.js +0 -5
  181. package/experiments-app/app.json +0 -30
  182. package/experiments-app/assets/adaptive-icon.png +0 -0
  183. package/experiments-app/assets/favicon.png +0 -0
  184. package/experiments-app/assets/icon.png +0 -0
  185. package/experiments-app/assets/splash.png +0 -0
  186. package/experiments-app/babel.config.js +0 -6
  187. package/experiments-app/index.js +0 -4
  188. package/experiments-app/package.json +0 -29
  189. package/experiments-app/src/App.tsx +0 -31
  190. package/experiments-app/src/MainScreen.tsx +0 -52
  191. package/experiments-app/src/experiments.ts +0 -35
  192. package/experiments-app/src/screens/FlatListEvents.tsx +0 -57
  193. package/experiments-app/src/screens/ScrollViewEvents.tsx +0 -65
  194. package/experiments-app/src/screens/SectionListEvents.tsx +0 -91
  195. package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -42
  196. package/experiments-app/src/screens/TextInputEvents.tsx +0 -48
  197. package/experiments-app/src/utils/helpers.ts +0 -18
  198. package/experiments-app/tsconfig.json +0 -6
  199. package/experiments-app/yarn.lock +0 -6709
  200. package/experiments-rtl/.babelrc +0 -8
  201. package/experiments-rtl/.eslintrc.json +0 -3
  202. package/experiments-rtl/.gitignore +0 -35
  203. package/experiments-rtl/README.md +0 -34
  204. package/experiments-rtl/jest-setup.js +0 -1
  205. package/experiments-rtl/jest.config.js +0 -4
  206. package/experiments-rtl/next.config.js +0 -4
  207. package/experiments-rtl/package.json +0 -38
  208. package/experiments-rtl/postcss.config.js +0 -6
  209. package/experiments-rtl/public/next.svg +0 -1
  210. package/experiments-rtl/public/vercel.svg +0 -1
  211. package/experiments-rtl/src/app/__tests__/click.test.tsx +0 -31
  212. package/experiments-rtl/src/app/__tests__/managed-text-input.test.tsx +0 -51
  213. package/experiments-rtl/src/app/globals.css +0 -27
  214. package/experiments-rtl/src/app/layout.tsx +0 -22
  215. package/experiments-rtl/src/app/page.tsx +0 -113
  216. package/experiments-rtl/tailwind.config.ts +0 -20
  217. package/experiments-rtl/tsconfig.json +0 -28
  218. package/experiments-rtl/yarn.lock +0 -5418
  219. package/flow-typed/npm/jest_v26.x.x.js +0 -1218
  220. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
  221. package/jest-setup.ts +0 -10
  222. package/renovate.json +0 -19
  223. package/scripts/test_react_17 +0 -12
  224. package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
  225. package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
  226. package/src/__tests__/act.test.tsx +0 -56
  227. package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
  228. package/src/__tests__/auto-cleanup.test.tsx +0 -50
  229. package/src/__tests__/cleanup.test.tsx +0 -26
  230. package/src/__tests__/config.test.ts +0 -55
  231. package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
  232. package/src/__tests__/fireEvent.test.tsx +0 -485
  233. package/src/__tests__/host-component-names.test.tsx +0 -109
  234. package/src/__tests__/host-text-nesting.test.tsx +0 -90
  235. package/src/__tests__/jest-native.test.tsx +0 -84
  236. package/src/__tests__/questionsBoard.test.tsx +0 -62
  237. package/src/__tests__/react-native-api.test.tsx +0 -126
  238. package/src/__tests__/render-debug.test.tsx +0 -207
  239. package/src/__tests__/render-stringValidation.test.tsx +0 -157
  240. package/src/__tests__/render.test.tsx +0 -256
  241. package/src/__tests__/renderHook.test.tsx +0 -114
  242. package/src/__tests__/screen.test.tsx +0 -66
  243. package/src/__tests__/timerUtils.ts +0 -7
  244. package/src/__tests__/timers.test.ts +0 -27
  245. package/src/__tests__/waitFor.test.tsx +0 -327
  246. package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
  247. package/src/__tests__/within.test.tsx +0 -96
  248. package/src/act.ts +0 -86
  249. package/src/cleanup.ts +0 -15
  250. package/src/config.ts +0 -72
  251. package/src/fireEvent.ts +0 -159
  252. package/src/flush-micro-tasks.ts +0 -30
  253. package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
  254. package/src/helpers/__tests__/component-tree.test.tsx +0 -226
  255. package/src/helpers/__tests__/format-default.tsx +0 -114
  256. package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
  257. package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
  258. package/src/helpers/__tests__/query-name.test.ts +0 -10
  259. package/src/helpers/__tests__/timers.test.ts +0 -8
  260. package/src/helpers/accessiblity.ts +0 -108
  261. package/src/helpers/component-tree.ts +0 -94
  262. package/src/helpers/debugDeep.ts +0 -27
  263. package/src/helpers/debugShallow.ts +0 -22
  264. package/src/helpers/deprecation.ts +0 -53
  265. package/src/helpers/errors.ts +0 -66
  266. package/src/helpers/findAll.ts +0 -70
  267. package/src/helpers/format-default.ts +0 -72
  268. package/src/helpers/format.ts +0 -47
  269. package/src/helpers/getTextContent.ts +0 -20
  270. package/src/helpers/host-component-names.tsx +0 -88
  271. package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
  272. package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
  273. package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
  274. package/src/helpers/matchers/accessibilityState.ts +0 -48
  275. package/src/helpers/matchers/accessibilityValue.ts +0 -24
  276. package/src/helpers/matchers/matchArrayProp.ts +0 -21
  277. package/src/helpers/matchers/matchLabelText.ts +0 -50
  278. package/src/helpers/matchers/matchObjectProp.ts +0 -25
  279. package/src/helpers/matchers/matchStringProp.ts +0 -23
  280. package/src/helpers/matchers/matchTextContent.ts +0 -20
  281. package/src/helpers/pointer-events.ts +0 -27
  282. package/src/helpers/query-name.ts +0 -4
  283. package/src/helpers/stringValidation.ts +0 -36
  284. package/src/helpers/timers.ts +0 -98
  285. package/src/index.ts +0 -33
  286. package/src/matches.ts +0 -49
  287. package/src/pure.ts +0 -27
  288. package/src/queries/__tests__/a11yState.test.tsx +0 -439
  289. package/src/queries/__tests__/a11yValue.test.tsx +0 -309
  290. package/src/queries/__tests__/displayValue.test.tsx +0 -221
  291. package/src/queries/__tests__/hintText.test.tsx +0 -177
  292. package/src/queries/__tests__/labelText.test.tsx +0 -242
  293. package/src/queries/__tests__/makeQueries.test.tsx +0 -235
  294. package/src/queries/__tests__/placeholderText.test.tsx +0 -136
  295. package/src/queries/__tests__/role-value.test.tsx +0 -176
  296. package/src/queries/__tests__/role.test.tsx +0 -824
  297. package/src/queries/__tests__/testId.test.tsx +0 -200
  298. package/src/queries/__tests__/text.test.tsx +0 -556
  299. package/src/queries/a11yState.ts +0 -127
  300. package/src/queries/a11yValue.ts +0 -127
  301. package/src/queries/displayValue.ts +0 -71
  302. package/src/queries/hintText.ts +0 -107
  303. package/src/queries/labelText.ts +0 -57
  304. package/src/queries/makeQueries.ts +0 -255
  305. package/src/queries/options.ts +0 -14
  306. package/src/queries/placeholderText.ts +0 -72
  307. package/src/queries/role.ts +0 -131
  308. package/src/queries/testId.ts +0 -66
  309. package/src/queries/text.ts +0 -63
  310. package/src/queries/unsafeProps.ts +0 -76
  311. package/src/queries/unsafeType.ts +0 -73
  312. package/src/react-versions.ts +0 -11
  313. package/src/render-act.ts +0 -19
  314. package/src/render.tsx +0 -183
  315. package/src/renderHook.tsx +0 -56
  316. package/src/screen.ts +0 -123
  317. package/src/shallow.ts +0 -18
  318. package/src/test-utils/events.ts +0 -24
  319. package/src/test-utils/index.ts +0 -1
  320. package/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +0 -269
  321. package/src/user-event/__tests__/clear.test.tsx +0 -217
  322. package/src/user-event/clear.ts +0 -59
  323. package/src/user-event/event-builder/common.ts +0 -66
  324. package/src/user-event/event-builder/index.ts +0 -7
  325. package/src/user-event/event-builder/text-input.ts +0 -86
  326. package/src/user-event/index.ts +0 -18
  327. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
  328. package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
  329. package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
  330. package/src/user-event/press/__tests__/press.test.tsx +0 -457
  331. package/src/user-event/press/constants.ts +0 -7
  332. package/src/user-event/press/index.ts +0 -1
  333. package/src/user-event/press/press.ts +0 -163
  334. package/src/user-event/setup/index.ts +0 -2
  335. package/src/user-event/setup/setup.ts +0 -142
  336. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
  337. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
  338. package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
  339. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -120
  340. package/src/user-event/type/__tests__/type.test.tsx +0 -335
  341. package/src/user-event/type/index.ts +0 -1
  342. package/src/user-event/type/parseKeys.ts +0 -41
  343. package/src/user-event/type/type.ts +0 -138
  344. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
  345. package/src/user-event/utils/__tests__/wait.test.ts +0 -62
  346. package/src/user-event/utils/content-size.ts +0 -25
  347. package/src/user-event/utils/dispatch-event.ts +0 -38
  348. package/src/user-event/utils/host-components.ts +0 -6
  349. package/src/user-event/utils/index.ts +0 -6
  350. package/src/user-event/utils/text-range.ts +0 -4
  351. package/src/user-event/utils/wait.ts +0 -15
  352. package/src/user-event/utils/warn-about-real-timers.ts +0 -13
  353. package/src/waitFor.ts +0 -228
  354. package/src/waitForElementToBeRemoved.ts +0 -42
  355. package/src/within.ts +0 -30
  356. package/tsconfig.json +0 -17
  357. package/tsconfig.release.json +0 -8
  358. package/website/.gitignore +0 -20
  359. package/website/README.md +0 -33
  360. package/website/docker/.dockerignore +0 -3
  361. package/website/docker/Dockerfile +0 -9
  362. package/website/docker/docker-compose.yml +0 -11
  363. package/website/docs/API.md +0 -940
  364. package/website/docs/EslintPLluginTestingLibrary.md +0 -28
  365. package/website/docs/FAQ.md +0 -44
  366. package/website/docs/GettingStarted.md +0 -100
  367. package/website/docs/HowShouldIQuery.md +0 -21
  368. package/website/docs/MigrationV11.md +0 -64
  369. package/website/docs/MigrationV12.md +0 -67
  370. package/website/docs/MigrationV2.md +0 -126
  371. package/website/docs/MigrationV7.md +0 -119
  372. package/website/docs/MigrationV9.md +0 -67
  373. package/website/docs/Queries.md +0 -572
  374. package/website/docs/ReactNavigation.md +0 -371
  375. package/website/docs/ReduxIntegration.md +0 -137
  376. package/website/docs/TestingEnvironment.md +0 -154
  377. package/website/docs/Troubleshooting.md +0 -44
  378. package/website/docs/UnderstandingAct.md +0 -227
  379. package/website/docs/UserEvent.md +0 -191
  380. package/website/docusaurus.config.js +0 -114
  381. package/website/package.json +0 -31
  382. package/website/sidebars.js +0 -20
  383. package/website/src/components/Feature.js +0 -31
  384. package/website/src/css/custom.css +0 -13
  385. package/website/src/css/index.module.css +0 -77
  386. package/website/src/pages/index.js +0 -82
  387. package/website/static/.nojekyll +0 -0
  388. package/website/static/css/custom.css +0 -28
  389. package/website/static/img/hit.png +0 -0
  390. package/website/static/img/locomotive.png +0 -0
  391. package/website/static/img/owl.png +0 -0
  392. package/website/static/img/tools.png +0 -0
  393. package/website/yarn.lock +0 -7669
  394. package/yarn.lock +0 -7765
  395. /package/build/helpers/{getTextContent.d.ts → text-content.d.ts} +0 -0
@@ -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
- });