@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,485 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- View,
4
- TouchableOpacity,
5
- PanResponder,
6
- Pressable,
7
- Text,
8
- ScrollView,
9
- TextInput,
10
- } from 'react-native';
11
- import { render, fireEvent } from '..';
12
-
13
- type OnPressComponentProps = {
14
- onPress: () => void;
15
- text: string;
16
- };
17
- const OnPressComponent = ({ onPress, text }: OnPressComponentProps) => (
18
- <View>
19
- <TouchableOpacity onPress={onPress}>
20
- <Text>{text}</Text>
21
- </TouchableOpacity>
22
- </View>
23
- );
24
-
25
- type WithoutEventComponentProps = { onPress: () => void };
26
- const WithoutEventComponent = (_props: WithoutEventComponentProps) => (
27
- <View>
28
- <Text>Without event</Text>
29
- </View>
30
- );
31
-
32
- type CustomEventComponentProps = {
33
- onCustomEvent: () => void;
34
- };
35
- const CustomEventComponent = ({ onCustomEvent }: CustomEventComponentProps) => (
36
- <TouchableOpacity onPress={onCustomEvent}>
37
- <Text>Custom event component</Text>
38
- </TouchableOpacity>
39
- );
40
-
41
- type MyCustomButtonProps = {
42
- handlePress: () => void;
43
- text: string;
44
- };
45
- const MyCustomButton = ({ handlePress, text }: MyCustomButtonProps) => (
46
- <OnPressComponent onPress={handlePress} text={text} />
47
- );
48
-
49
- type CustomEventComponentWithCustomNameProps = {
50
- handlePress: () => void;
51
- };
52
- const CustomEventComponentWithCustomName = ({
53
- handlePress,
54
- }: CustomEventComponentWithCustomNameProps) => (
55
- <MyCustomButton handlePress={handlePress} text="Custom component" />
56
- );
57
-
58
- describe('fireEvent', () => {
59
- test('should invoke specified event', () => {
60
- const onPressMock = jest.fn();
61
- const { getByText } = render(
62
- <OnPressComponent onPress={onPressMock} text="Press me" />
63
- );
64
-
65
- fireEvent(getByText('Press me'), 'press');
66
-
67
- expect(onPressMock).toHaveBeenCalled();
68
- });
69
-
70
- test('should invoke specified event on parent element', () => {
71
- const onPressMock = jest.fn();
72
- const text = 'New press text';
73
- const { getByText } = render(
74
- <OnPressComponent onPress={onPressMock} text={text} />
75
- );
76
-
77
- fireEvent(getByText(text), 'press');
78
- expect(onPressMock).toHaveBeenCalled();
79
- });
80
-
81
- test('should not fire if the press handler is not passed to children', () => {
82
- const onPressMock = jest.fn();
83
- const { getByText } = render(
84
- // TODO: this functionality is buggy, i.e. it will fail if we wrap this component with a View.
85
- <WithoutEventComponent onPress={onPressMock} />
86
- );
87
- fireEvent(getByText('Without event'), 'press');
88
- expect(onPressMock).not.toHaveBeenCalled();
89
- });
90
-
91
- test('should invoke event with custom name', () => {
92
- const handlerMock = jest.fn();
93
- const EVENT_DATA = 'event data';
94
-
95
- const { getByText } = render(
96
- <View>
97
- <CustomEventComponent onCustomEvent={handlerMock} />
98
- </View>
99
- );
100
-
101
- fireEvent(getByText('Custom event component'), 'customEvent', EVENT_DATA);
102
-
103
- expect(handlerMock).toHaveBeenCalledWith(EVENT_DATA);
104
- });
105
- });
106
-
107
- test('fireEvent.press', () => {
108
- const onPressMock = jest.fn();
109
- const text = 'Fireevent press';
110
- const eventData = {
111
- nativeEvent: {
112
- pageX: 20,
113
- pageY: 30,
114
- },
115
- };
116
- const { getByText } = render(
117
- <OnPressComponent onPress={onPressMock} text={text} />
118
- );
119
-
120
- fireEvent.press(getByText(text), eventData);
121
-
122
- expect(onPressMock).toHaveBeenCalledWith(eventData);
123
- });
124
-
125
- test('fireEvent.scroll', () => {
126
- const onScrollMock = jest.fn();
127
- const eventData = {
128
- nativeEvent: {
129
- contentOffset: {
130
- y: 200,
131
- },
132
- },
133
- };
134
-
135
- const { getByText } = render(
136
- <ScrollView onScroll={onScrollMock}>
137
- <Text>XD</Text>
138
- </ScrollView>
139
- );
140
-
141
- fireEvent.scroll(getByText('XD'), eventData);
142
-
143
- expect(onScrollMock).toHaveBeenCalledWith(eventData);
144
- });
145
-
146
- test('fireEvent.changeText', () => {
147
- const onChangeTextMock = jest.fn();
148
- const CHANGE_TEXT = 'content';
149
-
150
- const { getByPlaceholderText } = render(
151
- <View>
152
- <TextInput
153
- placeholder="Customer placeholder"
154
- onChangeText={onChangeTextMock}
155
- />
156
- </View>
157
- );
158
-
159
- fireEvent.changeText(
160
- getByPlaceholderText('Customer placeholder'),
161
- CHANGE_TEXT
162
- );
163
-
164
- expect(onChangeTextMock).toHaveBeenCalledWith(CHANGE_TEXT);
165
- });
166
-
167
- test('custom component with custom event name', () => {
168
- const handlePress = jest.fn();
169
-
170
- const { getByText } = render(
171
- <CustomEventComponentWithCustomName handlePress={handlePress} />
172
- );
173
-
174
- fireEvent(getByText('Custom component'), 'handlePress');
175
-
176
- expect(handlePress).toHaveBeenCalled();
177
- });
178
-
179
- test('event with multiple handler parameters', () => {
180
- const handlePress = jest.fn();
181
-
182
- const { getByText } = render(
183
- <CustomEventComponentWithCustomName handlePress={handlePress} />
184
- );
185
-
186
- fireEvent(getByText('Custom component'), 'handlePress', 'param1', 'param2');
187
-
188
- expect(handlePress).toHaveBeenCalledWith('param1', 'param2');
189
- });
190
-
191
- test('should not fire on disabled TouchableOpacity', () => {
192
- const handlePress = jest.fn();
193
- const screen = render(
194
- <View>
195
- <TouchableOpacity onPress={handlePress} disabled={true}>
196
- <Text>Trigger</Text>
197
- </TouchableOpacity>
198
- </View>
199
- );
200
-
201
- fireEvent.press(screen.getByText('Trigger'));
202
- expect(handlePress).not.toHaveBeenCalled();
203
- });
204
-
205
- test('should not fire on disabled Pressable', () => {
206
- const handlePress = jest.fn();
207
- const screen = render(
208
- <View>
209
- <Pressable onPress={handlePress} disabled={true}>
210
- <Text>Trigger</Text>
211
- </Pressable>
212
- </View>
213
- );
214
-
215
- fireEvent.press(screen.getByText('Trigger'));
216
- expect(handlePress).not.toHaveBeenCalled();
217
- });
218
-
219
- test('should not fire inside View with pointerEvents="none"', () => {
220
- const onPress = jest.fn();
221
- const screen = render(
222
- <View pointerEvents="none">
223
- <Pressable onPress={onPress}>
224
- <Text>Trigger</Text>
225
- </Pressable>
226
- </View>
227
- );
228
-
229
- fireEvent.press(screen.getByText('Trigger'));
230
- fireEvent(screen.getByText('Trigger'), 'onPress');
231
- expect(onPress).not.toHaveBeenCalled();
232
- });
233
-
234
- test('should not fire inside View with pointerEvents="box-only"', () => {
235
- const onPress = jest.fn();
236
- const screen = render(
237
- <View pointerEvents="box-only">
238
- <Pressable onPress={onPress}>
239
- <Text>Trigger</Text>
240
- </Pressable>
241
- </View>
242
- );
243
-
244
- fireEvent.press(screen.getByText('Trigger'));
245
- fireEvent(screen.getByText('Trigger'), 'onPress');
246
- expect(onPress).not.toHaveBeenCalled();
247
- });
248
-
249
- test('should fire inside View with pointerEvents="box-none"', () => {
250
- const onPress = jest.fn();
251
- const screen = render(
252
- <View pointerEvents="box-none">
253
- <Pressable onPress={onPress}>
254
- <Text>Trigger</Text>
255
- </Pressable>
256
- </View>
257
- );
258
-
259
- fireEvent.press(screen.getByText('Trigger'));
260
- fireEvent(screen.getByText('Trigger'), 'onPress');
261
- expect(onPress).toHaveBeenCalledTimes(2);
262
- });
263
-
264
- test('should fire inside View with pointerEvents="auto"', () => {
265
- const onPress = jest.fn();
266
- const screen = render(
267
- <View pointerEvents="auto">
268
- <Pressable onPress={onPress}>
269
- <Text>Trigger</Text>
270
- </Pressable>
271
- </View>
272
- );
273
-
274
- fireEvent.press(screen.getByText('Trigger'));
275
- fireEvent(screen.getByText('Trigger'), 'onPress');
276
- expect(onPress).toHaveBeenCalledTimes(2);
277
- });
278
-
279
- test('should not fire deeply inside View with pointerEvents="box-only"', () => {
280
- const onPress = jest.fn();
281
- const screen = render(
282
- <View pointerEvents="box-only">
283
- <View>
284
- <Pressable onPress={onPress}>
285
- <Text>Trigger</Text>
286
- </Pressable>
287
- </View>
288
- </View>
289
- );
290
-
291
- fireEvent.press(screen.getByText('Trigger'));
292
- fireEvent(screen.getByText('Trigger'), 'onPress');
293
- expect(onPress).not.toHaveBeenCalled();
294
- });
295
-
296
- test('should fire non-pointer events inside View with pointerEvents="box-none"', () => {
297
- const onTouchStart = jest.fn();
298
- const screen = render(
299
- <View testID="view" pointerEvents="box-none" onTouchStart={onTouchStart} />
300
- );
301
-
302
- fireEvent(screen.getByTestId('view'), 'touchStart');
303
- expect(onTouchStart).toHaveBeenCalled();
304
- });
305
-
306
- test('should fire non-touch events inside View with pointerEvents="box-none"', () => {
307
- const onLayout = jest.fn();
308
- const screen = render(
309
- <View testID="view" pointerEvents="box-none" onLayout={onLayout} />
310
- );
311
-
312
- fireEvent(screen.getByTestId('view'), 'layout');
313
- expect(onLayout).toHaveBeenCalled();
314
- });
315
-
316
- // This test if pointerEvents="box-only" on composite `Pressable` is blocking
317
- // the 'press' event on host View rendered by pressable.
318
- test('should fire on Pressable with pointerEvents="box-only', () => {
319
- const onPress = jest.fn();
320
- const screen = render(
321
- <Pressable testID="pressable" pointerEvents="box-only" onPress={onPress} />
322
- );
323
-
324
- fireEvent.press(screen.getByTestId('pressable'));
325
- expect(onPress).toHaveBeenCalled();
326
- });
327
-
328
- test('should pass event up on disabled TouchableOpacity', () => {
329
- const handleInnerPress = jest.fn();
330
- const handleOuterPress = jest.fn();
331
- const screen = render(
332
- <TouchableOpacity onPress={handleOuterPress}>
333
- <TouchableOpacity onPress={handleInnerPress} disabled={true}>
334
- <Text>Inner Trigger</Text>
335
- </TouchableOpacity>
336
- </TouchableOpacity>
337
- );
338
-
339
- fireEvent.press(screen.getByText('Inner Trigger'));
340
- expect(handleInnerPress).not.toHaveBeenCalled();
341
- expect(handleOuterPress).toHaveBeenCalledTimes(1);
342
- });
343
-
344
- test('should pass event up on disabled Pressable', () => {
345
- const handleInnerPress = jest.fn();
346
- const handleOuterPress = jest.fn();
347
- const screen = render(
348
- <Pressable onPress={handleOuterPress}>
349
- <Pressable onPress={handleInnerPress} disabled={true}>
350
- <Text>Inner Trigger</Text>
351
- </Pressable>
352
- </Pressable>
353
- );
354
-
355
- fireEvent.press(screen.getByText('Inner Trigger'));
356
- expect(handleInnerPress).not.toHaveBeenCalled();
357
- expect(handleOuterPress).toHaveBeenCalledTimes(1);
358
- });
359
-
360
- type TestComponentProps = {
361
- onPress: () => void;
362
- disabled?: boolean;
363
- };
364
- const TestComponent = ({ onPress }: TestComponentProps) => {
365
- return (
366
- <TouchableOpacity onPress={onPress}>
367
- <Text>Trigger Test</Text>
368
- </TouchableOpacity>
369
- );
370
- };
371
-
372
- test('is not fooled by non-native disabled prop', () => {
373
- const handlePress = jest.fn();
374
- const screen = render(
375
- <TestComponent onPress={handlePress} disabled={true} />
376
- );
377
-
378
- fireEvent.press(screen.getByText('Trigger Test'));
379
- expect(handlePress).toHaveBeenCalledTimes(1);
380
- });
381
-
382
- type TestChildTouchableComponentProps = {
383
- onPress: () => void;
384
- someProp: boolean;
385
- };
386
- function TestChildTouchableComponent({
387
- onPress,
388
- someProp,
389
- }: TestChildTouchableComponentProps) {
390
- return (
391
- <View>
392
- <TouchableOpacity onPress={onPress} disabled={someProp}>
393
- <Text>Trigger</Text>
394
- </TouchableOpacity>
395
- </View>
396
- );
397
- }
398
-
399
- test('is not fooled by non-responder wrapping host elements', () => {
400
- const handlePress = jest.fn();
401
-
402
- const screen = render(
403
- <View>
404
- <TestChildTouchableComponent onPress={handlePress} someProp={true} />
405
- </View>
406
- );
407
-
408
- fireEvent.press(screen.getByText('Trigger'));
409
- expect(handlePress).not.toHaveBeenCalled();
410
- });
411
-
412
- type TestDraggableComponentProps = { onDrag: () => void };
413
- function TestDraggableComponent({ onDrag }: TestDraggableComponentProps) {
414
- const responderHandlers = PanResponder.create({
415
- onMoveShouldSetPanResponder: (_evt, _gestureState) => true,
416
- onPanResponderMove: onDrag,
417
- }).panHandlers;
418
-
419
- return (
420
- <View {...responderHandlers}>
421
- <Text>Trigger</Text>
422
- </View>
423
- );
424
- }
425
-
426
- test('has only onMove', () => {
427
- const handleDrag = jest.fn();
428
-
429
- const screen = render(<TestDraggableComponent onDrag={handleDrag} />);
430
-
431
- fireEvent(screen.getByText('Trigger'), 'responderMove', {
432
- touchHistory: { mostRecentTimeStamp: '2', touchBank: [] },
433
- });
434
- expect(handleDrag).toHaveBeenCalled();
435
- });
436
-
437
- // Those events ideally should be triggered through `fireEvent.scroll`, but they are handled at the
438
- // native level, so we need to support manually triggering them
439
- describe('native events', () => {
440
- test('triggers onScrollBeginDrag', () => {
441
- const onScrollBeginDragSpy = jest.fn();
442
- const { getByTestId } = render(
443
- <ScrollView testID="test-id" onScrollBeginDrag={onScrollBeginDragSpy} />
444
- );
445
-
446
- fireEvent(getByTestId('test-id'), 'onScrollBeginDrag');
447
- expect(onScrollBeginDragSpy).toHaveBeenCalled();
448
- });
449
-
450
- test('triggers onScrollEndDrag', () => {
451
- const onScrollEndDragSpy = jest.fn();
452
- const { getByTestId } = render(
453
- <ScrollView testID="test-id" onScrollEndDrag={onScrollEndDragSpy} />
454
- );
455
-
456
- fireEvent(getByTestId('test-id'), 'onScrollEndDrag');
457
- expect(onScrollEndDragSpy).toHaveBeenCalled();
458
- });
459
-
460
- test('triggers onMomentumScrollBegin', () => {
461
- const onMomentumScrollBeginSpy = jest.fn();
462
- const { getByTestId } = render(
463
- <ScrollView
464
- testID="test-id"
465
- onMomentumScrollBegin={onMomentumScrollBeginSpy}
466
- />
467
- );
468
-
469
- fireEvent(getByTestId('test-id'), 'onMomentumScrollBegin');
470
- expect(onMomentumScrollBeginSpy).toHaveBeenCalled();
471
- });
472
-
473
- test('triggers onMomentumScrollEnd', () => {
474
- const onMomentumScrollEndSpy = jest.fn();
475
- const { getByTestId } = render(
476
- <ScrollView
477
- testID="test-id"
478
- onMomentumScrollEnd={onMomentumScrollEndSpy}
479
- />
480
- );
481
-
482
- fireEvent(getByTestId('test-id'), 'onMomentumScrollEnd');
483
- expect(onMomentumScrollEndSpy).toHaveBeenCalled();
484
- });
485
- });
@@ -1,109 +0,0 @@
1
- import * as React from 'react';
2
- import { View } from 'react-native';
3
- import TestRenderer from 'react-test-renderer';
4
- import { configureInternal, getConfig } from '../config';
5
- import {
6
- getHostComponentNames,
7
- configureHostComponentNamesIfNeeded,
8
- } from '../helpers/host-component-names';
9
- import { act, render } from '..';
10
-
11
- const mockCreate = jest.spyOn(TestRenderer, 'create') as jest.Mock;
12
-
13
- beforeEach(() => {
14
- mockCreate.mockReset();
15
- });
16
-
17
- describe('getHostComponentNames', () => {
18
- test('returns host component names from internal config', () => {
19
- configureInternal({
20
- hostComponentNames: {
21
- text: 'banana',
22
- textInput: 'banana',
23
- switch: 'banana',
24
- },
25
- });
26
-
27
- expect(getHostComponentNames()).toEqual({
28
- text: 'banana',
29
- textInput: 'banana',
30
- switch: 'banana',
31
- });
32
- });
33
-
34
- test('detects host component names if not present in internal config', () => {
35
- expect(getConfig().hostComponentNames).toBeUndefined();
36
-
37
- const hostComponentNames = getHostComponentNames();
38
-
39
- expect(hostComponentNames).toEqual({
40
- text: 'Text',
41
- textInput: 'TextInput',
42
- switch: 'RCTSwitch',
43
- });
44
- expect(getConfig().hostComponentNames).toBe(hostComponentNames);
45
- });
46
-
47
- // Repro test for case when user indirectly triggers `getHostComponentNames` calls from
48
- // explicit `act` wrapper.
49
- // See: https://github.com/callstack/react-native-testing-library/issues/1302
50
- // and https://github.com/callstack/react-native-testing-library/issues/1305
51
- test('does not throw when wrapped in act after render has been called', () => {
52
- render(<View />);
53
- expect(() =>
54
- act(() => {
55
- getHostComponentNames();
56
- })
57
- ).not.toThrow();
58
- });
59
- });
60
-
61
- describe('configureHostComponentNamesIfNeeded', () => {
62
- test('updates internal config with host component names when they are not defined', () => {
63
- expect(getConfig().hostComponentNames).toBeUndefined();
64
-
65
- configureHostComponentNamesIfNeeded();
66
-
67
- expect(getConfig().hostComponentNames).toEqual({
68
- text: 'Text',
69
- textInput: 'TextInput',
70
- switch: 'RCTSwitch',
71
- });
72
- });
73
-
74
- test('does not update internal config when host component names are already configured', () => {
75
- configureInternal({
76
- hostComponentNames: {
77
- text: 'banana',
78
- textInput: 'banana',
79
- switch: 'banana',
80
- },
81
- });
82
-
83
- configureHostComponentNamesIfNeeded();
84
-
85
- expect(getConfig().hostComponentNames).toEqual({
86
- text: 'banana',
87
- textInput: 'banana',
88
- switch: 'banana',
89
- });
90
- });
91
-
92
- test('throw an error when autodetection fails', () => {
93
- const renderer = TestRenderer.create(<View />);
94
-
95
- mockCreate.mockReturnValue({
96
- root: renderer.root,
97
- });
98
-
99
- expect(() => configureHostComponentNamesIfNeeded())
100
- .toThrowErrorMatchingInlineSnapshot(`
101
- "Trying to detect host component names triggered the following error:
102
-
103
- Unable to find an element with testID: text
104
-
105
- There seems to be an issue with your configuration that prevents React Native Testing Library from working correctly.
106
- Please check if you are using compatible versions of React Native and React Native Testing Library."
107
- `);
108
- });
109
- });
@@ -1,90 +0,0 @@
1
- import * as React from 'react';
2
- import { Text, Pressable, View } from 'react-native';
3
- import { render, within } from '../pure';
4
-
5
- /**
6
- * Our queries interact differently with composite and host elements, and some specific cases require us
7
- * to crawl up the tree to a Text composite element to be able to traverse it down again. Going up the tree
8
- * is a dangerous behaviour because we could take the risk of then traversing a sibling node to the original one.
9
- * This test suite is designed to be able to test as many different combinations, as a safety net.
10
- * Specific cases should still be tested within the relevant file (for instance an edge case with `within` should have
11
- * an explicit test in the within test suite)
12
- */
13
- describe('nested text handling', () => {
14
- test('within same node', () => {
15
- const view = render(<Text testID="subject">Hello</Text>);
16
- expect(within(view.getByTestId('subject')).getByText('Hello')).toBeTruthy();
17
- });
18
-
19
- test('role with direct text children', () => {
20
- const view = render(<Text accessibilityRole="header">About</Text>);
21
-
22
- expect(view.getByRole('header', { name: 'About' })).toBeTruthy();
23
- });
24
-
25
- test('nested text with child with role', () => {
26
- const view = render(
27
- <Text>
28
- <Text testID="child" accessibilityRole="header">
29
- About
30
- </Text>
31
- </Text>
32
- );
33
-
34
- expect(view.getByRole('header', { name: 'About' }).props.testID).toBe(
35
- 'child'
36
- );
37
- });
38
-
39
- test('pressable within View, with text child', () => {
40
- const view = render(
41
- <View>
42
- <Pressable testID="pressable" accessibilityRole="button">
43
- <Text>Save</Text>
44
- </Pressable>
45
- </View>
46
- );
47
-
48
- expect(view.getByRole('button', { name: 'Save' }).props.testID).toBe(
49
- 'pressable'
50
- );
51
- });
52
-
53
- test('pressable within View, with text child within view', () => {
54
- const view = render(
55
- <View>
56
- <Pressable testID="pressable" accessibilityRole="button">
57
- <View>
58
- <Text>Save</Text>
59
- </View>
60
- </Pressable>
61
- </View>
62
- );
63
-
64
- expect(view.getByRole('button', { name: 'Save' }).props.testID).toBe(
65
- 'pressable'
66
- );
67
- });
68
-
69
- test('Text within pressable', () => {
70
- const view = render(
71
- <Pressable testID="pressable" accessibilityRole="button">
72
- <Text testID="text">Save</Text>
73
- </Pressable>
74
- );
75
-
76
- expect(view.getByText('Save').props.testID).toBe('text');
77
- });
78
-
79
- test('Text within view within pressable', () => {
80
- const view = render(
81
- <Pressable testID="pressable" accessibilityRole="button">
82
- <View>
83
- <Text testID="text">Save</Text>
84
- </View>
85
- </Pressable>
86
- );
87
-
88
- expect(view.getByText('Save').props.testID).toBe('text');
89
- });
90
- });