@testing-library/react-native 12.2.0 → 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 (486) hide show
  1. package/build/fireEvent.js +1 -1
  2. package/build/fireEvent.js.map +1 -1
  3. package/build/helpers/component-tree.d.ts +11 -5
  4. package/build/helpers/component-tree.js +5 -1
  5. package/build/helpers/component-tree.js.map +1 -1
  6. package/build/helpers/findAll.d.ts +2 -1
  7. package/build/helpers/findAll.js +2 -1
  8. package/build/helpers/findAll.js.map +1 -1
  9. package/build/helpers/host-component-names.d.ts +11 -2
  10. package/build/helpers/host-component-names.js +10 -0
  11. package/build/helpers/host-component-names.js.map +1 -1
  12. package/build/helpers/matchers/matchLabelText.js +1 -1
  13. package/build/helpers/matchers/matchLabelText.js.map +1 -1
  14. package/build/queries/a11yState.js +1 -1
  15. package/build/queries/a11yState.js.map +1 -1
  16. package/build/queries/a11yValue.js +1 -1
  17. package/build/queries/a11yValue.js.map +1 -1
  18. package/build/queries/displayValue.js +5 -6
  19. package/build/queries/displayValue.js.map +1 -1
  20. package/build/queries/hintText.js +1 -1
  21. package/build/queries/hintText.js.map +1 -1
  22. package/build/queries/labelText.js +1 -1
  23. package/build/queries/labelText.js.map +1 -1
  24. package/build/queries/placeholderText.js +3 -4
  25. package/build/queries/placeholderText.js.map +1 -1
  26. package/build/queries/role.js +1 -1
  27. package/build/queries/role.js.map +1 -1
  28. package/build/queries/testId.js +3 -3
  29. package/build/queries/testId.js.map +1 -1
  30. package/build/queries/text.js +1 -2
  31. package/build/queries/text.js.map +1 -1
  32. package/build/render.js.map +1 -1
  33. package/build/user-event/clear.d.ts +3 -0
  34. package/build/user-event/clear.js +41 -0
  35. package/build/user-event/clear.js.map +1 -0
  36. package/build/user-event/index.d.ts +1 -0
  37. package/build/user-event/index.js +2 -1
  38. package/build/user-event/index.js.map +1 -1
  39. package/build/user-event/press/press.js +1 -4
  40. package/build/user-event/press/press.js.map +1 -1
  41. package/build/user-event/setup/setup.d.ts +14 -2
  42. package/build/user-event/setup/setup.js +3 -1
  43. package/build/user-event/setup/setup.js.map +1 -1
  44. package/build/user-event/type/type.d.ts +2 -1
  45. package/build/user-event/type/type.js +8 -4
  46. package/build/user-event/type/type.js.map +1 -1
  47. package/build/user-event/utils/host-components.d.ts +2 -0
  48. package/build/user-event/utils/host-components.js +11 -0
  49. package/build/user-event/utils/host-components.js.map +1 -0
  50. package/build/user-event/utils/index.d.ts +1 -0
  51. package/build/user-event/utils/index.js +11 -0
  52. package/build/user-event/utils/index.js.map +1 -1
  53. package/build/user-event/utils/text-range.d.ts +0 -1
  54. package/build/user-event/utils/text-range.js +0 -11
  55. package/build/user-event/utils/text-range.js.map +1 -1
  56. package/package.json +5 -4
  57. package/.DS_Store +0 -0
  58. package/.codecov.yml +0 -9
  59. package/.eslintcache +0 -1
  60. package/.eslintignore +0 -2
  61. package/.eslintrc +0 -19
  62. package/.flowconfig +0 -63
  63. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  64. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  65. package/.github/ISSUE_TEMPLATE/question.md +0 -9
  66. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  67. package/.github/actions/setup-deps/action.yml +0 -22
  68. package/.github/actions/setup-website-deps/action.yml +0 -22
  69. package/.github/dependabot.yml +0 -10
  70. package/.github/workflows/deploy-website.yml +0 -36
  71. package/.github/workflows/example-apps.yml +0 -25
  72. package/.github/workflows/main.yml +0 -103
  73. package/.gitignore +0 -11
  74. package/.prettierrc.js +0 -5
  75. package/CODE_OF_CONDUCT.md +0 -73
  76. package/CONTRIBUTING.md +0 -64
  77. package/babel.config.js +0 -22
  78. package/build/helpers/filterNodeByType.d.ts +0 -3
  79. package/build/helpers/filterNodeByType.js +0 -9
  80. package/build/helpers/filterNodeByType.js.map +0 -1
  81. package/coverage/clover.xml +0 -1176
  82. package/coverage/coverage-final.json +0 -70
  83. package/coverage/lcov-report/base.css +0 -224
  84. package/coverage/lcov-report/block-navigation.js +0 -87
  85. package/coverage/lcov-report/favicon.png +0 -0
  86. package/coverage/lcov-report/index.html +0 -266
  87. package/coverage/lcov-report/prettify.css +0 -1
  88. package/coverage/lcov-report/prettify.js +0 -2
  89. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  90. package/coverage/lcov-report/sorter.js +0 -196
  91. package/coverage/lcov-report/src/act.ts.html +0 -343
  92. package/coverage/lcov-report/src/cleanup.ts.html +0 -130
  93. package/coverage/lcov-report/src/config.ts.html +0 -301
  94. package/coverage/lcov-report/src/fireEvent.ts.html +0 -559
  95. package/coverage/lcov-report/src/flushMicroTasks.ts.html +0 -124
  96. package/coverage/lcov-report/src/helpers/accessiblity.ts.html +0 -412
  97. package/coverage/lcov-report/src/helpers/component-tree.ts.html +0 -352
  98. package/coverage/lcov-report/src/helpers/debugDeep.ts.html +0 -166
  99. package/coverage/lcov-report/src/helpers/debugShallow.ts.html +0 -151
  100. package/coverage/lcov-report/src/helpers/deprecation.ts.html +0 -244
  101. package/coverage/lcov-report/src/helpers/errors.ts.html +0 -283
  102. package/coverage/lcov-report/src/helpers/filterNodeByType.ts.html +0 -106
  103. package/coverage/lcov-report/src/helpers/findAll.ts.html +0 -289
  104. package/coverage/lcov-report/src/helpers/format-default.ts.html +0 -301
  105. package/coverage/lcov-report/src/helpers/format.ts.html +0 -226
  106. package/coverage/lcov-report/src/helpers/getTextContent.ts.html +0 -145
  107. package/coverage/lcov-report/src/helpers/host-component-names.tsx.html +0 -286
  108. package/coverage/lcov-report/src/helpers/index.html +0 -326
  109. package/coverage/lcov-report/src/helpers/matchers/accessibilityState.ts.html +0 -229
  110. package/coverage/lcov-report/src/helpers/matchers/accessibilityValue.ts.html +0 -157
  111. package/coverage/lcov-report/src/helpers/matchers/index.html +0 -206
  112. package/coverage/lcov-report/src/helpers/matchers/matchArrayProp.ts.html +0 -148
  113. package/coverage/lcov-report/src/helpers/matchers/matchLabelText.ts.html +0 -238
  114. package/coverage/lcov-report/src/helpers/matchers/matchObjectProp.ts.html +0 -160
  115. package/coverage/lcov-report/src/helpers/matchers/matchStringProp.ts.html +0 -154
  116. package/coverage/lcov-report/src/helpers/matchers/matchTextContent.ts.html +0 -145
  117. package/coverage/lcov-report/src/helpers/query-name.ts.html +0 -97
  118. package/coverage/lcov-report/src/helpers/stringValidation.ts.html +0 -193
  119. package/coverage/lcov-report/src/helpers/timers.ts.html +0 -382
  120. package/coverage/lcov-report/src/index.html +0 -356
  121. package/coverage/lcov-report/src/index.ts.html +0 -184
  122. package/coverage/lcov-report/src/matches.ts.html +0 -232
  123. package/coverage/lcov-report/src/pure.ts.html +0 -157
  124. package/coverage/lcov-report/src/queries/a11yState.ts.html +0 -478
  125. package/coverage/lcov-report/src/queries/a11yValue.ts.html +0 -478
  126. package/coverage/lcov-report/src/queries/displayValue.ts.html +0 -319
  127. package/coverage/lcov-report/src/queries/hintText.ts.html +0 -421
  128. package/coverage/lcov-report/src/queries/index.html +0 -281
  129. package/coverage/lcov-report/src/queries/labelText.ts.html +0 -262
  130. package/coverage/lcov-report/src/queries/makeQueries.ts.html +0 -850
  131. package/coverage/lcov-report/src/queries/placeholderText.ts.html +0 -322
  132. package/coverage/lcov-report/src/queries/role.ts.html +0 -481
  133. package/coverage/lcov-report/src/queries/testId.ts.html +0 -298
  134. package/coverage/lcov-report/src/queries/text.ts.html +0 -283
  135. package/coverage/lcov-report/src/queries/unsafeProps.ts.html +0 -313
  136. package/coverage/lcov-report/src/queries/unsafeType.ts.html +0 -304
  137. package/coverage/lcov-report/src/react-versions.ts.html +0 -118
  138. package/coverage/lcov-report/src/render-act.ts.html +0 -142
  139. package/coverage/lcov-report/src/render.tsx.html +0 -592
  140. package/coverage/lcov-report/src/renderHook.tsx.html +0 -262
  141. package/coverage/lcov-report/src/screen.ts.html +0 -454
  142. package/coverage/lcov-report/src/shallow.ts.html +0 -139
  143. package/coverage/lcov-report/src/test-utils/events.ts.html +0 -145
  144. package/coverage/lcov-report/src/test-utils/index.html +0 -131
  145. package/coverage/lcov-report/src/test-utils/index.ts.html +0 -88
  146. package/coverage/lcov-report/src/user-event/event-builder/common.ts.html +0 -229
  147. package/coverage/lcov-report/src/user-event/event-builder/index.html +0 -146
  148. package/coverage/lcov-report/src/user-event/event-builder/index.ts.html +0 -106
  149. package/coverage/lcov-report/src/user-event/event-builder/test-input.ts.html +0 -343
  150. package/coverage/lcov-report/src/user-event/event-builder/text-input.ts.html +0 -343
  151. package/coverage/lcov-report/src/user-event/index.html +0 -116
  152. package/coverage/lcov-report/src/user-event/index.ts.html +0 -121
  153. package/coverage/lcov-report/src/user-event/press/index.html +0 -131
  154. package/coverage/lcov-report/src/user-event/press/index.ts.html +0 -88
  155. package/coverage/lcov-report/src/user-event/press/press.ts.html +0 -133
  156. package/coverage/lcov-report/src/user-event/setup/index.html +0 -131
  157. package/coverage/lcov-report/src/user-event/setup/index.ts.html +0 -91
  158. package/coverage/lcov-report/src/user-event/setup/setup.ts.html +0 -358
  159. package/coverage/lcov-report/src/user-event/type/index.html +0 -146
  160. package/coverage/lcov-report/src/user-event/type/index.ts.html +0 -88
  161. package/coverage/lcov-report/src/user-event/type/parseKeys.ts.html +0 -208
  162. package/coverage/lcov-report/src/user-event/type/type.ts.html +0 -484
  163. package/coverage/lcov-report/src/user-event/utils/content-size.ts.html +0 -160
  164. package/coverage/lcov-report/src/user-event/utils/dispatch-event.ts.html +0 -367
  165. package/coverage/lcov-report/src/user-event/utils/events.ts.html +0 -247
  166. package/coverage/lcov-report/src/user-event/utils/index.html +0 -176
  167. package/coverage/lcov-report/src/user-event/utils/index.ts.html +0 -97
  168. package/coverage/lcov-report/src/user-event/utils/text-range.ts.html +0 -118
  169. package/coverage/lcov-report/src/user-event/utils/wait.ts.html +0 -130
  170. package/coverage/lcov-report/src/waitFor.ts.html +0 -772
  171. package/coverage/lcov-report/src/waitForElementToBeRemoved.ts.html +0 -211
  172. package/coverage/lcov-report/src/within.ts.html +0 -175
  173. package/coverage/lcov.info +0 -2614
  174. package/examples/.DS_Store +0 -0
  175. package/examples/basic/.expo/README.md +0 -17
  176. package/examples/basic/.expo/devices.json +0 -3
  177. package/examples/basic/.expo/packager-info.json +0 -4
  178. package/examples/basic/.expo/settings.json +0 -8
  179. package/examples/basic/.expo-shared/assets.json +0 -4
  180. package/examples/basic/.gitignore +0 -14
  181. package/examples/basic/App.tsx +0 -20
  182. package/examples/basic/README.md +0 -11
  183. package/examples/basic/__tests__/App.test.tsx +0 -119
  184. package/examples/basic/app.json +0 -31
  185. package/examples/basic/assets/adaptive-icon.png +0 -0
  186. package/examples/basic/assets/favicon.png +0 -0
  187. package/examples/basic/assets/icon.png +0 -0
  188. package/examples/basic/assets/splash.png +0 -0
  189. package/examples/basic/babel.config.js +0 -6
  190. package/examples/basic/components/Home.tsx +0 -28
  191. package/examples/basic/components/LoginForm.tsx +0 -138
  192. package/examples/basic/jest-setup.ts +0 -7
  193. package/examples/basic/jest.config.js +0 -5
  194. package/examples/basic/package.json +0 -30
  195. package/examples/basic/tsconfig.json +0 -7
  196. package/examples/basic/yarn-error.log +0 -8083
  197. package/examples/basic/yarn.lock +0 -8878
  198. package/examples/react-navigation/README.md +0 -16
  199. package/examples/react-navigation/babel.config.js +0 -4
  200. package/examples/react-navigation/jest-setup.js +0 -11
  201. package/examples/react-navigation/jest.config.js +0 -10
  202. package/examples/react-navigation/package.json +0 -31
  203. package/examples/react-navigation/src/App.js +0 -21
  204. package/examples/react-navigation/src/DrawerNavigator.js +0 -15
  205. package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
  206. package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
  207. package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
  208. package/examples/react-navigation/src/StackNavigator.js +0 -15
  209. package/examples/react-navigation/src/StackNavigator.test.js +0 -34
  210. package/examples/react-navigation/src/TabNavigator.js +0 -15
  211. package/examples/react-navigation/src/TabNavigator.test.js +0 -21
  212. package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
  213. package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
  214. package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
  215. package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
  216. package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
  217. package/examples/react-navigation/src/test-utils.js +0 -12
  218. package/examples/react-navigation/yarn.lock +0 -5610
  219. package/examples/redux/App.js +0 -27
  220. package/examples/redux/README.md +0 -5
  221. package/examples/redux/actions/todoActions.js +0 -25
  222. package/examples/redux/babel.config.js +0 -6
  223. package/examples/redux/components/AddTodo.js +0 -73
  224. package/examples/redux/components/AddTodo.test.js +0 -27
  225. package/examples/redux/components/TodoElem.js +0 -25
  226. package/examples/redux/components/TodoList.js +0 -29
  227. package/examples/redux/components/TodoList.test.js +0 -34
  228. package/examples/redux/index.js +0 -8
  229. package/examples/redux/jest-setup.js +0 -2
  230. package/examples/redux/jest.config.js +0 -4
  231. package/examples/redux/package.json +0 -23
  232. package/examples/redux/reducers/index.js +0 -6
  233. package/examples/redux/reducers/todoReducer.js +0 -27
  234. package/examples/redux/store.js +0 -10
  235. package/examples/redux/test-utils.js +0 -11
  236. package/examples/redux/yarn-error.log +0 -8083
  237. package/examples/redux/yarn.lock +0 -8423
  238. package/experiments-app/.expo/README.md +0 -15
  239. package/experiments-app/.expo/devices.json +0 -3
  240. package/experiments-app/.expo/settings.json +0 -10
  241. package/experiments-app/.gitignore +0 -17
  242. package/experiments-app/.prettierrc.js +0 -5
  243. package/experiments-app/app.json +0 -30
  244. package/experiments-app/assets/adaptive-icon.png +0 -0
  245. package/experiments-app/assets/favicon.png +0 -0
  246. package/experiments-app/assets/icon.png +0 -0
  247. package/experiments-app/assets/splash.png +0 -0
  248. package/experiments-app/babel.config.js +0 -6
  249. package/experiments-app/index.js +0 -4
  250. package/experiments-app/package.json +0 -31
  251. package/experiments-app/src/App.tsx +0 -31
  252. package/experiments-app/src/MainScreen.tsx +0 -51
  253. package/experiments-app/src/experiments.ts +0 -17
  254. package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -54
  255. package/experiments-app/src/screens/TextInputEvents.tsx +0 -60
  256. package/experiments-app/src/utils/helpers.ts +0 -8
  257. package/experiments-app/tsconfig.json +0 -6
  258. package/experiments-app/yarn.lock +0 -6913
  259. package/flow-typed/npm/jest_v26.x.x.js +0 -1218
  260. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
  261. package/jest-setup.ts +0 -10
  262. package/renovate.json +0 -19
  263. package/scripts/test_react_17 +0 -12
  264. package/src/.DS_Store +0 -0
  265. package/src/__tests__/.DS_Store +0 -0
  266. package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
  267. package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
  268. package/src/__tests__/act.test.tsx +0 -56
  269. package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
  270. package/src/__tests__/auto-cleanup.test.tsx +0 -50
  271. package/src/__tests__/cleanup.test.tsx +0 -26
  272. package/src/__tests__/config.test.ts +0 -55
  273. package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
  274. package/src/__tests__/fireEvent.test.tsx +0 -485
  275. package/src/__tests__/host-component-names.test.tsx +0 -109
  276. package/src/__tests__/host-text-nesting.test.tsx +0 -90
  277. package/src/__tests__/jest-native.test.tsx +0 -84
  278. package/src/__tests__/questionsBoard.test.tsx +0 -62
  279. package/src/__tests__/react-native-api.test.tsx +0 -126
  280. package/src/__tests__/render-debug.test.tsx +0 -207
  281. package/src/__tests__/render-stringValidation.test.tsx +0 -157
  282. package/src/__tests__/render.test.tsx +0 -256
  283. package/src/__tests__/renderHook.test.tsx +0 -114
  284. package/src/__tests__/screen.test.tsx +0 -66
  285. package/src/__tests__/timerUtils.ts +0 -7
  286. package/src/__tests__/timers.test.ts +0 -27
  287. package/src/__tests__/waitFor.test.tsx +0 -327
  288. package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
  289. package/src/__tests__/within.test.tsx +0 -96
  290. package/src/act.ts +0 -86
  291. package/src/cleanup.ts +0 -15
  292. package/src/config.ts +0 -72
  293. package/src/fireEvent.ts +0 -159
  294. package/src/flush-micro-tasks.ts +0 -30
  295. package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
  296. package/src/helpers/__tests__/component-tree.test.tsx +0 -226
  297. package/src/helpers/__tests__/format-default.tsx +0 -114
  298. package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
  299. package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
  300. package/src/helpers/__tests__/query-name.test.ts +0 -10
  301. package/src/helpers/__tests__/timers.test.ts +0 -8
  302. package/src/helpers/accessiblity.ts +0 -108
  303. package/src/helpers/component-tree.ts +0 -89
  304. package/src/helpers/debugDeep.ts +0 -27
  305. package/src/helpers/debugShallow.ts +0 -22
  306. package/src/helpers/deprecation.ts +0 -53
  307. package/src/helpers/errors.ts +0 -66
  308. package/src/helpers/filterNodeByType.ts +0 -7
  309. package/src/helpers/findAll.ts +0 -68
  310. package/src/helpers/format-default.ts +0 -72
  311. package/src/helpers/format.ts +0 -47
  312. package/src/helpers/getTextContent.ts +0 -20
  313. package/src/helpers/host-component-names.tsx +0 -75
  314. package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
  315. package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
  316. package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
  317. package/src/helpers/matchers/accessibilityState.ts +0 -48
  318. package/src/helpers/matchers/accessibilityValue.ts +0 -24
  319. package/src/helpers/matchers/matchArrayProp.ts +0 -21
  320. package/src/helpers/matchers/matchLabelText.ts +0 -51
  321. package/src/helpers/matchers/matchObjectProp.ts +0 -25
  322. package/src/helpers/matchers/matchStringProp.ts +0 -23
  323. package/src/helpers/matchers/matchTextContent.ts +0 -20
  324. package/src/helpers/pointer-events.ts +0 -27
  325. package/src/helpers/query-name.ts +0 -4
  326. package/src/helpers/stringValidation.ts +0 -36
  327. package/src/helpers/timers.ts +0 -98
  328. package/src/index.ts +0 -33
  329. package/src/matches.ts +0 -49
  330. package/src/pure.ts +0 -27
  331. package/src/queries/__tests__/a11yState.test.tsx +0 -439
  332. package/src/queries/__tests__/a11yValue.test.tsx +0 -309
  333. package/src/queries/__tests__/displayValue.test.tsx +0 -221
  334. package/src/queries/__tests__/hintText.test.tsx +0 -177
  335. package/src/queries/__tests__/labelText.test.tsx +0 -242
  336. package/src/queries/__tests__/makeQueries.test.tsx +0 -235
  337. package/src/queries/__tests__/placeholderText.test.tsx +0 -136
  338. package/src/queries/__tests__/role-value.test.tsx +0 -176
  339. package/src/queries/__tests__/role.test.tsx +0 -824
  340. package/src/queries/__tests__/testId.test.tsx +0 -200
  341. package/src/queries/__tests__/text.test.tsx +0 -556
  342. package/src/queries/a11yState.ts +0 -131
  343. package/src/queries/a11yValue.ts +0 -131
  344. package/src/queries/displayValue.ts +0 -78
  345. package/src/queries/hintText.ts +0 -112
  346. package/src/queries/labelText.ts +0 -59
  347. package/src/queries/makeQueries.ts +0 -255
  348. package/src/queries/options.ts +0 -14
  349. package/src/queries/placeholderText.ts +0 -79
  350. package/src/queries/role.ts +0 -132
  351. package/src/queries/testId.ts +0 -71
  352. package/src/queries/text.ts +0 -66
  353. package/src/queries/unsafeProps.ts +0 -76
  354. package/src/queries/unsafeType.ts +0 -73
  355. package/src/react-versions.ts +0 -11
  356. package/src/render-act.ts +0 -19
  357. package/src/render.tsx +0 -183
  358. package/src/renderHook.tsx +0 -56
  359. package/src/screen.ts +0 -123
  360. package/src/shallow.ts +0 -18
  361. package/src/test-utils/events.ts +0 -24
  362. package/src/test-utils/index.ts +0 -1
  363. package/src/user-event/event-builder/common.ts +0 -66
  364. package/src/user-event/event-builder/index.ts +0 -7
  365. package/src/user-event/event-builder/text-input.ts +0 -86
  366. package/src/user-event/index.ts +0 -17
  367. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
  368. package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
  369. package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
  370. package/src/user-event/press/__tests__/press.test.tsx +0 -457
  371. package/src/user-event/press/constants.ts +0 -7
  372. package/src/user-event/press/index.ts +0 -1
  373. package/src/user-event/press/press.ts +0 -169
  374. package/src/user-event/setup/index.ts +0 -2
  375. package/src/user-event/setup/setup.ts +0 -127
  376. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
  377. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
  378. package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
  379. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -121
  380. package/src/user-event/type/__tests__/type.test.tsx +0 -336
  381. package/src/user-event/type/index.ts +0 -1
  382. package/src/user-event/type/parseKeys.ts +0 -41
  383. package/src/user-event/type/type.ts +0 -135
  384. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
  385. package/src/user-event/utils/__tests__/wait.test.ts +0 -63
  386. package/src/user-event/utils/content-size.ts +0 -25
  387. package/src/user-event/utils/dispatch-event.ts +0 -38
  388. package/src/user-event/utils/index.ts +0 -5
  389. package/src/user-event/utils/text-range.ts +0 -11
  390. package/src/user-event/utils/wait.ts +0 -15
  391. package/src/user-event/utils/warn-about-real-timers.ts +0 -13
  392. package/src/waitFor.ts +0 -228
  393. package/src/waitForElementToBeRemoved.ts +0 -42
  394. package/src/within.ts +0 -30
  395. package/tsconfig.json +0 -17
  396. package/tsconfig.release.json +0 -8
  397. package/website/.DS_Store +0 -0
  398. package/website/.docusaurus/DONT-EDIT-THIS-FOLDER +0 -5
  399. package/website/.docusaurus/client-modules.js +0 -6
  400. package/website/.docusaurus/codeTranslations.json +0 -1
  401. package/website/.docusaurus/docusaurus-plugin-content-blog/default/blog-post-list-prop-default.json +0 -4
  402. package/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json +0 -4
  403. package/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json +0 -4
  404. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-api-md-c82.json +0 -27
  405. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-eslint-p-llugin-testing-library-md-d24.json +0 -27
  406. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-faq-md-ad8.json +0 -27
  407. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-getting-started-md-8a6.json +0 -23
  408. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-how-should-i-query-md-f2d.json +0 -27
  409. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-11-md-add.json +0 -27
  410. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-12-md-14f.json +0 -27
  411. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-2-md-698.json +0 -27
  412. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-7-md-6bb.json +0 -27
  413. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-9-md-f69.json +0 -27
  414. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-queries-md-7ad.json +0 -27
  415. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-react-navigation-md-1bd.json +0 -27
  416. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-redux-integration-md-77b.json +0 -23
  417. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-testing-environment-md-1c6.json +0 -27
  418. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-troubleshooting-md-01d.json +0 -27
  419. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-understanding-act-md-aa9.json +0 -27
  420. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-user-event-md-501.json +0 -27
  421. package/website/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json +0 -268
  422. package/website/.docusaurus/docusaurus-plugin-content-docs/react-native-testing-library-docs-route-96e.json +0 -115
  423. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-api-md-c82.json +0 -19
  424. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-eslint-p-llugin-testing-library-md-d24.json +0 -19
  425. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-faq-md-ad8.json +0 -19
  426. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-getting-started-md-8a6.json +0 -15
  427. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-how-should-i-query-md-f2d.json +0 -19
  428. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-11-md-add.json +0 -19
  429. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-2-md-698.json +0 -19
  430. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-7-md-6bb.json +0 -19
  431. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-9-md-f69.json +0 -19
  432. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-queries-md-7ad.json +0 -19
  433. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-react-navigation-md-1bd.json +0 -19
  434. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-redux-integration-md-77b.json +0 -15
  435. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-troubleshooting-md-01d.json +0 -19
  436. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-understanding-act-md-aa9.json +0 -19
  437. package/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json +0 -4
  438. package/website/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json +0 -623
  439. package/website/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json +0 -4
  440. package/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json +0 -4
  441. package/website/.docusaurus/docusaurus.config.js +0 -267
  442. package/website/.docusaurus/docusaurus.config.mjs +0 -365
  443. package/website/.docusaurus/globalData.json +0 -113
  444. package/website/.docusaurus/i18n.json +0 -17
  445. package/website/.docusaurus/registry.js +0 -35
  446. package/website/.docusaurus/routes.js +0 -162
  447. package/website/.docusaurus/routesChunkNames.json +0 -133
  448. package/website/.docusaurus/site-metadata.json +0 -36
  449. package/website/.gitignore +0 -20
  450. package/website/README.md +0 -33
  451. package/website/docker/.dockerignore +0 -3
  452. package/website/docker/Dockerfile +0 -9
  453. package/website/docker/docker-compose.yml +0 -11
  454. package/website/docs/API.md +0 -940
  455. package/website/docs/EslintPLluginTestingLibrary.md +0 -28
  456. package/website/docs/FAQ.md +0 -44
  457. package/website/docs/GettingStarted.md +0 -100
  458. package/website/docs/HowShouldIQuery.md +0 -21
  459. package/website/docs/MigrationV11.md +0 -64
  460. package/website/docs/MigrationV12.md +0 -67
  461. package/website/docs/MigrationV2.md +0 -126
  462. package/website/docs/MigrationV7.md +0 -119
  463. package/website/docs/MigrationV9.md +0 -67
  464. package/website/docs/Queries.md +0 -567
  465. package/website/docs/ReactNavigation.md +0 -371
  466. package/website/docs/ReduxIntegration.md +0 -137
  467. package/website/docs/TestingEnvironment.md +0 -154
  468. package/website/docs/Troubleshooting.md +0 -44
  469. package/website/docs/UnderstandingAct.md +0 -227
  470. package/website/docs/UserEvent.md +0 -143
  471. package/website/docusaurus.config.js +0 -114
  472. package/website/package.json +0 -31
  473. package/website/sidebars.js +0 -20
  474. package/website/src/components/Feature.js +0 -31
  475. package/website/src/css/custom.css +0 -13
  476. package/website/src/css/index.module.css +0 -77
  477. package/website/src/pages/index.js +0 -82
  478. package/website/static/.nojekyll +0 -0
  479. package/website/static/css/custom.css +0 -28
  480. package/website/static/img/hit.png +0 -0
  481. package/website/static/img/locomotive.png +0 -0
  482. package/website/static/img/owl.png +0 -0
  483. package/website/static/img/tools.png +0 -0
  484. package/website/yarn.lock +0 -7669
  485. package/yarn-error.log +0 -10613
  486. package/yarn.lock +0 -7765
@@ -1,556 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- Button,
4
- Image,
5
- Text,
6
- TextInput,
7
- TouchableOpacity,
8
- View,
9
- } from 'react-native';
10
- import { getDefaultNormalizer, render, within } from '../..';
11
-
12
- test('byText matches simple text', () => {
13
- const { getByText } = render(<Text testID="text">Hello World</Text>);
14
- expect(getByText('Hello World').props.testID).toBe('text');
15
- });
16
-
17
- test('byText matches inner nested text', () => {
18
- const { getByText } = render(
19
- <Text testID="outer">
20
- <Text testID="inner">Hello World</Text>
21
- </Text>
22
- );
23
- expect(getByText('Hello World').props.testID).toBe('inner');
24
- });
25
-
26
- test('byText matches accross multiple texts', () => {
27
- const { getByText } = render(
28
- <Text testID="outer">
29
- <Text testID="inner-1">Hello</Text> <Text testID="inner-2">World</Text>
30
- </Text>
31
- );
32
- expect(getByText('Hello World').props.testID).toBe('outer');
33
- });
34
-
35
- type MyButtonProps = {
36
- children: React.ReactNode;
37
- onPress: () => void;
38
- };
39
- const MyButton = ({ children, onPress }: MyButtonProps) => (
40
- <TouchableOpacity onPress={onPress}>
41
- <Text>{children}</Text>
42
- </TouchableOpacity>
43
- );
44
-
45
- const Banana = () => {
46
- const test = 0;
47
- return (
48
- <View>
49
- <Text>Is the banana fresh?</Text>
50
- <Text testID="bananaFresh">not fresh</Text>
51
-
52
- <MyButton onPress={jest.fn()}>Change freshness!</MyButton>
53
- <Text testID="duplicateText">First Text</Text>
54
- <Text testID="duplicateText">Second Text</Text>
55
- <Text>{test}</Text>
56
- </View>
57
- );
58
- };
59
-
60
- type ChildrenProps = { children: React.ReactNode };
61
-
62
- test('getByText, queryByText', () => {
63
- const { getByText, queryByText } = render(<Banana />);
64
- const button = getByText(/change/i);
65
-
66
- expect(button.props.children).toBe('Change freshness!');
67
-
68
- const sameButton = getByText('not fresh');
69
-
70
- expect(sameButton.props.children).toBe('not fresh');
71
- expect(() => getByText('InExistent')).toThrow(
72
- 'Unable to find an element with text: InExistent'
73
- );
74
-
75
- const zeroText = getByText('0');
76
-
77
- expect(queryByText(/change/i)).toBe(button);
78
- expect(queryByText('InExistent')).toBeNull();
79
- expect(() => queryByText(/fresh/)).toThrow(
80
- 'Found multiple elements with text: /fresh/'
81
- );
82
- expect(queryByText('0')).toBe(zeroText);
83
- });
84
-
85
- test('getByText, queryByText with children as Array', () => {
86
- type BananaCounterProps = { numBananas: number };
87
- const BananaCounter = ({ numBananas }: BananaCounterProps) => (
88
- <Text>There are {numBananas} bananas in the bunch</Text>
89
- );
90
-
91
- const BananaStore = () => (
92
- <View>
93
- <BananaCounter numBananas={3} />
94
- <BananaCounter numBananas={6} />
95
- <BananaCounter numBananas={5} />
96
- </View>
97
- );
98
-
99
- const { getByText } = render(<BananaStore />);
100
-
101
- const threeBananaBunch = getByText('There are 3 bananas in the bunch');
102
- expect(threeBananaBunch.props.children).toEqual([
103
- 'There are ',
104
- 3,
105
- ' bananas in the bunch',
106
- ]);
107
- });
108
-
109
- test('getAllByText, queryAllByText', () => {
110
- const { getAllByText, queryAllByText } = render(<Banana />);
111
- const buttons = getAllByText(/fresh/i);
112
-
113
- expect(buttons).toHaveLength(3);
114
- expect(() => getAllByText('InExistent')).toThrow(
115
- 'Unable to find an element with text: InExistent'
116
- );
117
-
118
- expect(queryAllByText(/fresh/i)).toEqual(buttons);
119
- expect(queryAllByText('InExistent')).toHaveLength(0);
120
- });
121
-
122
- test('findByText queries work asynchronously', async () => {
123
- const options = { timeout: 10 }; // Short timeout so that this test runs quickly
124
- const { rerender, findByText, findAllByText } = render(<View />);
125
- await expect(findByText('Some Text', {}, options)).rejects.toBeTruthy();
126
- await expect(findAllByText('Some Text', {}, options)).rejects.toBeTruthy();
127
-
128
- setTimeout(
129
- () =>
130
- rerender(
131
- <View>
132
- <Text>Some Text</Text>
133
- </View>
134
- ),
135
- 20
136
- );
137
-
138
- await expect(findByText('Some Text')).resolves.toBeTruthy();
139
- await expect(findAllByText('Some Text')).resolves.toHaveLength(1);
140
- }, 20000);
141
-
142
- test('getByText works properly with custom text component', () => {
143
- function BoldText({ children }: ChildrenProps) {
144
- return <Text>{children}</Text>;
145
- }
146
-
147
- expect(
148
- render(
149
- <Text>
150
- <BoldText>Hello</BoldText>
151
- </Text>
152
- ).getByText('Hello')
153
- ).toBeTruthy();
154
- });
155
-
156
- test('getByText works properly with custom text container', () => {
157
- function MyText({ children }: ChildrenProps) {
158
- return <Text>{children}</Text>;
159
- }
160
- function BoldText({ children }: ChildrenProps) {
161
- return <Text>{children}</Text>;
162
- }
163
-
164
- expect(
165
- render(
166
- <MyText>
167
- <BoldText>Hello</BoldText>
168
- </MyText>
169
- ).getByText('Hello')
170
- ).toBeTruthy();
171
- });
172
-
173
- test('queryByText nested <Image> in <Text> at start', () => {
174
- expect(
175
- render(
176
- <Text>
177
- <Image source={{}} />
178
- Hello
179
- </Text>
180
- ).queryByText('Hello')
181
- ).toBeTruthy();
182
- });
183
-
184
- test('queryByText nested <Image> in <Text> at end', () => {
185
- expect(
186
- render(
187
- <Text>
188
- Hello
189
- <Image source={{}} />
190
- </Text>
191
- ).queryByText('Hello')
192
- ).toBeTruthy();
193
- });
194
-
195
- test('queryByText nested <Image> in <Text> in middle', () => {
196
- expect(
197
- render(
198
- <Text>
199
- Hello
200
- <Image source={{}} />
201
- World
202
- </Text>
203
- ).queryByText('HelloWorld')
204
- ).toBeTruthy();
205
- });
206
-
207
- test('queryByText not found', () => {
208
- expect(
209
- render(
210
- <Text>
211
- Hello
212
- <Image source={{}} />
213
- </Text>
214
- ).queryByText('SomethingElse')
215
- ).toBeFalsy();
216
- });
217
-
218
- test('*ByText matches text across multiple nested Text', () => {
219
- const { getByText } = render(
220
- <Text nativeID="1">
221
- Hello{' '}
222
- <Text nativeID="2">
223
- World
224
- <Text>!{true}</Text>
225
- </Text>
226
- </Text>
227
- );
228
-
229
- expect(getByText('Hello World!')).toBeTruthy();
230
- });
231
-
232
- test('queryByText with nested Text components return the closest Text', () => {
233
- const NestedTexts = () => (
234
- <Text nativeID="1">
235
- <Text nativeID="2">My text</Text>
236
- </Text>
237
- );
238
-
239
- const { queryByText } = render(<NestedTexts />);
240
- expect(queryByText('My text', { exact: false })?.props.nativeID).toBe('2');
241
- });
242
-
243
- test('queryByText with nested Text components each with text return the lowest one', () => {
244
- const NestedTexts = () => (
245
- <Text nativeID="1">
246
- bob
247
- <Text nativeID="2">My text</Text>
248
- </Text>
249
- );
250
-
251
- const { queryByText } = render(<NestedTexts />);
252
-
253
- expect(queryByText('My text', { exact: false })?.props.nativeID).toBe('2');
254
- });
255
-
256
- test('queryByText nested deep <CustomText> in <Text>', () => {
257
- const CustomText = ({ children }: ChildrenProps) => {
258
- return <Text>{children}</Text>;
259
- };
260
-
261
- expect(
262
- render(
263
- <Text>
264
- <CustomText>Hello</CustomText> <CustomText>World!</CustomText>
265
- </Text>
266
- ).getByText('Hello World!')
267
- ).toBeTruthy();
268
- });
269
-
270
- test('queryByText with nested Text components: not-exact text match returns the most deeply nested common component', () => {
271
- const { queryByText: queryByTextFirstCase } = render(
272
- <Text nativeID="1">
273
- bob
274
- <Text nativeID="2">My </Text>
275
- <Text nativeID="3">text</Text>
276
- </Text>
277
- );
278
-
279
- const { queryByText: queryByTextSecondCase } = render(
280
- <Text nativeID="1">
281
- bob
282
- <Text nativeID="2">My text for test</Text>
283
- </Text>
284
- );
285
-
286
- expect(queryByTextFirstCase('My text')).toBe(null);
287
- expect(
288
- queryByTextSecondCase('My text', { exact: false })?.props.nativeID
289
- ).toBe('2');
290
- });
291
-
292
- test('queryAllByText does not match several times the same text', () => {
293
- const allMatched = render(
294
- <Text nativeID="1">
295
- Start
296
- <Text nativeID="2">This is a long text</Text>
297
- </Text>
298
- ).queryAllByText('long text', { exact: false });
299
- expect(allMatched.length).toBe(1);
300
- expect(allMatched[0].props.nativeID).toBe('2');
301
- });
302
-
303
- test('queryAllByText matches all the matching nodes', () => {
304
- const allMatched = render(
305
- <Text nativeID="1">
306
- Start
307
- <Text nativeID="2">This is a long text</Text>
308
- <Text nativeID="3">This is another long text</Text>
309
- </Text>
310
- ).queryAllByText('long text', { exact: false });
311
- expect(allMatched.length).toBe(2);
312
- expect(allMatched.map((node) => node.props.nativeID)).toEqual(['2', '3']);
313
- });
314
-
315
- describe('supports TextMatch options', () => {
316
- test('getByText, getAllByText', () => {
317
- const { getByText, getAllByText } = render(
318
- <View>
319
- <Text testID="text">Text and details</Text>
320
- <Button
321
- testID="button"
322
- title="Button and a detail"
323
- onPress={jest.fn()}
324
- />
325
- </View>
326
- );
327
-
328
- expect(getByText('details', { exact: false })).toBeTruthy();
329
- expect(getAllByText('detail', { exact: false })).toHaveLength(2);
330
- });
331
-
332
- test('getByPlaceholderText, getAllByPlaceholderText', () => {
333
- const { getByPlaceholderText, getAllByPlaceholderText } = render(
334
- <View>
335
- <TextInput placeholder={'Placeholder with details'} />
336
- <TextInput placeholder={'Placeholder with a DETAIL'} />
337
- </View>
338
- );
339
-
340
- expect(getByPlaceholderText('details', { exact: false })).toBeTruthy();
341
- expect(getAllByPlaceholderText('detail', { exact: false })).toHaveLength(2);
342
- });
343
-
344
- test('getByDisplayValue, getAllByDisplayValue', () => {
345
- const { getByDisplayValue, getAllByDisplayValue } = render(
346
- <View>
347
- <TextInput value={'Value with details'} />
348
- <TextInput value={'Value with a detail'} />
349
- </View>
350
- );
351
-
352
- expect(getByDisplayValue('details', { exact: false })).toBeTruthy();
353
- expect(getAllByDisplayValue('detail', { exact: false })).toHaveLength(2);
354
- });
355
-
356
- test('getByTestId, getAllByTestId', () => {
357
- const { getByTestId, getAllByTestId } = render(
358
- <View>
359
- <View testID="test" />
360
- <View testID="tests id" />
361
- </View>
362
- );
363
- expect(getByTestId('id', { exact: false })).toBeTruthy();
364
- expect(getAllByTestId('test', { exact: false })).toHaveLength(2);
365
- });
366
-
367
- test('with TextMatch option exact === false text search is NOT case sensitive', () => {
368
- const { getByText, getAllByText } = render(
369
- <View>
370
- <Text testID="text">Text and details</Text>
371
- <Button
372
- testID="button"
373
- title="Button and a DeTAil"
374
- onPress={jest.fn()}
375
- />
376
- </View>
377
- );
378
-
379
- expect(getByText('DeTaIlS', { exact: false })).toBeTruthy();
380
- expect(getAllByText('detail', { exact: false })).toHaveLength(2);
381
- });
382
- });
383
-
384
- describe('Supports normalization', () => {
385
- test('trims and collapses whitespace by default', () => {
386
- const { getByText } = render(
387
- <View>
388
- <Text>{` Text and
389
-
390
- whitespace`}</Text>
391
- </View>
392
- );
393
-
394
- expect(getByText('Text and whitespace')).toBeTruthy();
395
- });
396
-
397
- test('trim and collapseWhitespace is customizable by getDefaultNormalizer param', () => {
398
- const testTextWithWhitespace = ` Text and
399
-
400
- whitespace`;
401
- const { getByText } = render(
402
- <View>
403
- <Text>{testTextWithWhitespace}</Text>
404
- </View>
405
- );
406
-
407
- expect(
408
- getByText(testTextWithWhitespace, {
409
- normalizer: getDefaultNormalizer({
410
- trim: false,
411
- collapseWhitespace: false,
412
- }),
413
- })
414
- ).toBeTruthy();
415
- });
416
-
417
- test('normalizer function is customisable', () => {
418
- const testText = 'A TO REMOVE text';
419
- const normalizerFn = (textToNormalize: string) =>
420
- textToNormalize.replace('TO REMOVE ', '');
421
- const { getByText } = render(
422
- <View>
423
- <Text>{testText}</Text>
424
- </View>
425
- );
426
-
427
- expect(getByText('A text', { normalizer: normalizerFn })).toBeTruthy();
428
- });
429
- });
430
-
431
- test('getByText and queryByText work properly with text nested in React.Fragment', () => {
432
- const { getByText, queryByText } = render(
433
- <Text>
434
- <>Hello</>
435
- </Text>
436
- );
437
- expect(getByText('Hello')).toBeTruthy();
438
- expect(queryByText('Hello')).not.toBeNull();
439
- });
440
-
441
- test('getByText and queryByText work properly with text partially nested in React.Fragment', () => {
442
- const { getByText, queryByText } = render(
443
- <Text>
444
- He<>llo</>
445
- </Text>
446
- );
447
- expect(getByText('Hello')).toBeTruthy();
448
- expect(queryByText('Hello')).not.toBeNull();
449
- });
450
-
451
- test('getByText and queryByText work properly with multiple nested fragments', () => {
452
- const { getByText, queryByText } = render(
453
- <Text>
454
- He
455
- <>
456
- l<>l</>o
457
- </>
458
- </Text>
459
- );
460
- expect(getByText('Hello')).toBeTruthy();
461
- expect(queryByText('Hello')).not.toBeNull();
462
- });
463
-
464
- test('getByText and queryByText work with newlines', () => {
465
- const textWithNewLines = 'Line 1\nLine 2';
466
- const { getByText, queryByText } = render(<Text>{textWithNewLines}</Text>);
467
- expect(getByText(textWithNewLines)).toBeTruthy();
468
- expect(queryByText(textWithNewLines)).toBeTruthy();
469
- });
470
-
471
- test('getByText and queryByText work with tabs', () => {
472
- const textWithTabs = 'Line 1\tLine 2';
473
- const { getByText, queryByText } = render(<Text>{textWithTabs}</Text>);
474
- expect(getByText(textWithTabs)).toBeTruthy();
475
- expect(queryByText(textWithTabs)).toBeTruthy();
476
- });
477
-
478
- test('getByText searches for text within itself', () => {
479
- const { getByText } = render(<Text testID="subject">Hello</Text>);
480
- const textNode = within(getByText('Hello'));
481
- expect(textNode.getByText('Hello')).toBeTruthy();
482
- });
483
-
484
- test('getByText searches for text within self host element', () => {
485
- const { getByTestId } = render(<Text testID="subject">Hello</Text>);
486
- const textNode = within(getByTestId('subject'));
487
- expect(textNode.getByText('Hello')).toBeTruthy();
488
- });
489
-
490
- test('byText support hidden option', () => {
491
- const { getByText, queryByText } = render(
492
- <Text style={{ display: 'none' }}>Hidden from accessibility</Text>
493
- );
494
-
495
- expect(getByText(/hidden/i, { includeHiddenElements: true })).toBeTruthy();
496
-
497
- expect(queryByText(/hidden/i)).toBeFalsy();
498
- expect(queryByText(/hidden/i, { includeHiddenElements: false })).toBeFalsy();
499
- expect(() => getByText(/hidden/i, { includeHiddenElements: false }))
500
- .toThrowErrorMatchingInlineSnapshot(`
501
- "Unable to find an element with text: /hidden/i
502
-
503
- <Text
504
- style={
505
- {
506
- "display": "none",
507
- }
508
- }
509
- >
510
- Hidden from accessibility
511
- </Text>"
512
- `);
513
- });
514
-
515
- test('error message renders the element tree, preserving only helpful props', async () => {
516
- const view = render(<View accessibilityViewIsModal key="this is filtered" />);
517
-
518
- expect(() => view.getByText(/foo/)).toThrowErrorMatchingInlineSnapshot(`
519
- "Unable to find an element with text: /foo/
520
-
521
- <View
522
- accessibilityViewIsModal={true}
523
- />"
524
- `);
525
-
526
- expect(() => view.getAllByText(/foo/)).toThrowErrorMatchingInlineSnapshot(`
527
- "Unable to find an element with text: /foo/
528
-
529
- <View
530
- accessibilityViewIsModal={true}
531
- />"
532
- `);
533
-
534
- await expect(view.findByText(/foo/)).rejects
535
- .toThrowErrorMatchingInlineSnapshot(`
536
- "Unable to find an element with text: /foo/
537
-
538
- <View
539
- accessibilityViewIsModal={true}
540
- />"
541
- `);
542
-
543
- await expect(view.findAllByText(/foo/)).rejects
544
- .toThrowErrorMatchingInlineSnapshot(`
545
- "Unable to find an element with text: /foo/
546
-
547
- <View
548
- accessibilityViewIsModal={true}
549
- />"
550
- `);
551
- });
552
-
553
- test('byText should return host component', () => {
554
- const { getByText } = render(<Text>hello</Text>);
555
- expect(getByText('hello').type).toBe('Text');
556
- });
@@ -1,131 +0,0 @@
1
- import type { ReactTestInstance } from 'react-test-renderer';
2
- import { accessibilityStateKeys } from '../helpers/accessiblity';
3
- import { deprecateQueries } from '../helpers/deprecation';
4
- import { findAll } from '../helpers/findAll';
5
- import {
6
- AccessibilityStateMatcher,
7
- matchAccessibilityState,
8
- } from '../helpers/matchers/accessibilityState';
9
- import { makeQueries } from './makeQueries';
10
- import type {
11
- FindAllByQuery,
12
- FindByQuery,
13
- GetAllByQuery,
14
- GetByQuery,
15
- QueryAllByQuery,
16
- QueryByQuery,
17
- } from './makeQueries';
18
- import { CommonQueryOptions } from './options';
19
-
20
- const queryAllByA11yState = (
21
- instance: ReactTestInstance
22
- ): ((
23
- matcher: AccessibilityStateMatcher,
24
- queryOptions?: CommonQueryOptions
25
- ) => Array<ReactTestInstance>) =>
26
- function queryAllByA11yStateFn(matcher, queryOptions) {
27
- return findAll(
28
- instance,
29
- (node) =>
30
- typeof node.type === 'string' && matchAccessibilityState(node, matcher),
31
- queryOptions
32
- );
33
- };
34
-
35
- const buildErrorMessage = (state: AccessibilityStateMatcher = {}) => {
36
- const errors: string[] = [];
37
-
38
- accessibilityStateKeys.forEach((stateKey) => {
39
- if (state[stateKey] !== undefined) {
40
- errors.push(`${stateKey} state: ${state[stateKey]}`);
41
- }
42
- });
43
-
44
- return errors.join(', ');
45
- };
46
-
47
- const getMultipleError = (state: AccessibilityStateMatcher) =>
48
- `Found multiple elements with ${buildErrorMessage(state)}`;
49
-
50
- const getMissingError = (state: AccessibilityStateMatcher) =>
51
- `Unable to find an element with ${buildErrorMessage(state)}`;
52
-
53
- const { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries(
54
- queryAllByA11yState,
55
- getMissingError,
56
- getMultipleError
57
- );
58
-
59
- export type ByA11yStateQueries = {
60
- getByA11yState: GetByQuery<AccessibilityStateMatcher, CommonQueryOptions>;
61
- getAllByA11yState: GetAllByQuery<
62
- AccessibilityStateMatcher,
63
- CommonQueryOptions
64
- >;
65
- queryByA11yState: QueryByQuery<AccessibilityStateMatcher, CommonQueryOptions>;
66
- queryAllByA11yState: QueryAllByQuery<
67
- AccessibilityStateMatcher,
68
- CommonQueryOptions
69
- >;
70
- findByA11yState: FindByQuery<AccessibilityStateMatcher, CommonQueryOptions>;
71
- findAllByA11yState: FindAllByQuery<
72
- AccessibilityStateMatcher,
73
- CommonQueryOptions
74
- >;
75
-
76
- getByAccessibilityState: GetByQuery<
77
- AccessibilityStateMatcher,
78
- CommonQueryOptions
79
- >;
80
- getAllByAccessibilityState: GetAllByQuery<
81
- AccessibilityStateMatcher,
82
- CommonQueryOptions
83
- >;
84
- queryByAccessibilityState: QueryByQuery<
85
- AccessibilityStateMatcher,
86
- CommonQueryOptions
87
- >;
88
- queryAllByAccessibilityState: QueryAllByQuery<
89
- AccessibilityStateMatcher,
90
- CommonQueryOptions
91
- >;
92
- findByAccessibilityState: FindByQuery<
93
- AccessibilityStateMatcher,
94
- CommonQueryOptions
95
- >;
96
- findAllByAccessibilityState: FindAllByQuery<
97
- AccessibilityStateMatcher,
98
- CommonQueryOptions
99
- >;
100
- };
101
-
102
- export const bindByA11yStateQueries = (
103
- instance: ReactTestInstance
104
- ): ByA11yStateQueries => {
105
- const getByA11yState = getBy(instance);
106
- const getAllByA11yState = getAllBy(instance);
107
- const queryByA11yState = queryBy(instance);
108
- const queryAllByA11yState = queryAllBy(instance);
109
- const findByA11yState = findBy(instance);
110
- const findAllByA11yState = findAllBy(instance);
111
-
112
- return {
113
- ...deprecateQueries(
114
- {
115
- getByA11yState,
116
- getAllByA11yState,
117
- queryByA11yState,
118
- queryAllByA11yState,
119
- findByA11yState,
120
- findAllByA11yState,
121
- getByAccessibilityState: getByA11yState,
122
- getAllByAccessibilityState: getAllByA11yState,
123
- queryByAccessibilityState: queryByA11yState,
124
- queryAllByAccessibilityState: queryAllByA11yState,
125
- findByAccessibilityState: findByA11yState,
126
- findAllByAccessibilityState: findAllByA11yState,
127
- },
128
- 'Use {queryPrefix}ByRole(role, { disabled, selected, checked, busy, expanded }) query or expect(...).toHaveAccessibilityState(...) matcher from "@testing-library/jest-native" package instead.'
129
- ),
130
- };
131
- };