@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,44 +0,0 @@
1
- ---
2
- id: troubleshooting
3
- title: Troubleshooting
4
- ---
5
-
6
- This guide describes common issues found by users when integrating React Native Test Library to their projects.
7
-
8
- ## Matching React Native, React & React Test Renderer versions
9
-
10
- Check that you have matching versions of core dependencies:
11
-
12
- - React Native
13
- - React
14
- - React Test Renderer
15
-
16
- React Native uses different versioning scheme from React, you can use [React Native Upgrade Helper](https://react-native-community.github.io/upgrade-helper/) to find the correct matching between React Native & React versions. In case you use Expo, you should use dependency versions recommended by them and set by `expo upgrade` command.
17
-
18
- React Test Renderer usually has same major & minor version as React, as they are closely related and React Test Renderer is part of [React monorepo](https://github.com/facebook/react).
19
-
20
- Related issues: [#1061](https://github.com/callstack/react-native-testing-library/issues/1061), [#938](https://github.com/callstack/react-native-testing-library/issues/938), [#920](https://github.com/callstack/react-native-testing-library/issues/920)
21
-
22
- Errors that might indicate that you are facing this issue:
23
-
24
- - `TypeError: Cannot read property 'current' of undefined` when calling `render()`
25
- - `TypeError: Cannot read property 'isBatchingLegacy' of undefined` when calling `render()`
26
-
27
- ## Example repository
28
-
29
- We maintain an [example repository](https://github.com/callstack/react-native-testing-library/tree/main/examples/basic) that showcases a modern React Native Testing Library setup with TypeScript, Jest Native, etc.
30
-
31
- In case something does not work in your setup you can refer to this repository for recommended configuration.
32
-
33
- ## Act warnings
34
-
35
- When writing tests you may encounter warnings connected with `act()` function. There are two kinds of these warnings:
36
-
37
- - sync `act()` warning - `Warning: An update to Component inside a test was not wrapped in act(...)`
38
- - async `act()` warning - `Warning: You called act(async () => ...) without await`
39
-
40
- You can read more about `act()` function in our [understanding `act` function guide](https://callstack.github.io/react-native-testing-library/docs/understanding-act).
41
-
42
- Normally, you should not encounter sync `act()` warnings, but if that happens this probably indicate an issue with your test and should be investigated.
43
-
44
- In case of async `act()` function this might happen more or less randomly, especially if your components contain async logic. So far this warning does not seem to affect test correctness.
@@ -1,227 +0,0 @@
1
- ---
2
- id: understanding-act
3
- title: Understanding Act function
4
- ---
5
-
6
- When writing RNTL tests one of the things that confuses developers the most are cryptic [`act()`](https://reactjs.org/docs/testing-recipes.html#act) function errors logged into console. In this article I will try to build an understanding of the purpose and behaviour of `act()` so you can build your tests with more confidence.
7
-
8
- ## The act warnings
9
-
10
- Let’s start with typical `act()` warnings logged to console. There are two kinds of these issues, let’s call the first one the "sync `act()`" warning:
11
-
12
- ```
13
- Warning: An update to Component inside a test was not wrapped in act(...).
14
-
15
- When testing, code that causes React state updates should be wrapped into act(...):
16
-
17
- act(() => {
18
- /* fire events that update state */
19
- });
20
- /* assert on the output */
21
- ```
22
-
23
- The second one relates to async usage of `act` so let’s call it the "async `act`" error:
24
-
25
- ```
26
- Warning: You called act(async () => ...) without await. This could lead to unexpected
27
- testing behaviour, interleaving multiple act calls and mixing their scopes. You should
28
- - await act(async () => ...);
29
- ```
30
-
31
- ## Synchronous act
32
-
33
- ### Responsibility
34
-
35
- This function is intended only for using in automated tests and works only in development mode. Attempting to use it in production build will throw an error.
36
-
37
- The responsibility for `act` function is to make React renders and updates work in tests in a similar way they work in real application by grouping and executing related units of interaction (e.g. renders, effects, etc) together.
38
-
39
- To showcase that behaviour let make a small experiment. First we define a function component that uses `useEffect` hook in a trivial way.
40
-
41
- ```jsx
42
- function TestComponent() {
43
- const [count, setCount] = React.useState(0);
44
- React.useEffect(() => {
45
- setCount((c) => c + 1);
46
- }, []);
47
-
48
- return <Text>Count {count}</Text>;
49
- }
50
- ```
51
-
52
- In the following tests we will directly use `ReactTestRenderer` instead of RNTL `render` function to render our component for tests. In order to expose familiar queries like `getByText` we will use `within` function from RNTL.
53
-
54
- ```jsx
55
- test('render without act', () => {
56
- const renderer = TestRenderer.create(<TestComponent />);
57
-
58
- // Bind RNTL queries for root element.
59
- const view = within(renderer.root);
60
- expect(view.getByText('Count 0')).toBeOnTheScreen();
61
- });
62
- ```
63
-
64
- When testing without `act` call wrapping rendering call, we see that the assertion runs just after the rendering but before `useEffect`hooks effects are applied. Which is not what we expected in our tests.
65
-
66
- ```jsx
67
- test('render with act', () => {
68
- let renderer: ReactTestRenderer;
69
- act(() => {
70
- renderer = TestRenderer.create(<TestComponent />);
71
- });
72
-
73
- // Bind RNTL queries for root element.
74
- const view = within(renderer!.root);
75
- expect(view.getByText('Count 1')).toBeOnTheScreen();
76
- });
77
- ```
78
-
79
- When wrapping rendering call with `act` we see that the changes caused by `useEffect` hook have been applied as we would expect.
80
-
81
- ### When to use act
82
-
83
- The name `act` comes from [Arrange-Act-Assert](http://wiki.c2.com/?ArrangeActAssert) unit testing pattern. Which means it’s related to part of the test when we execute some actions on the component tree.
84
-
85
- So far we learned that `act` function allows tests to wait for all pending React interactions to be applied before we make our assertions. When using `act` we get guarantee that any state updates will be executed as well as any enqueued effects will be executed.
86
-
87
- Therefore, we should use `act` whenever there is some action that causes element tree to render, particularly:
88
-
89
- - initial render call - `ReactTestRenderer.create` call
90
- - re-rendering of component -`renderer.update` call
91
- - triggering any event handlers that cause component tree render
92
-
93
- Thankfully, for these basic cases RNTL has got you covered as our `render`, `update` and `fireEvent` methods already wrap their calls in sync `act` so that you do not have to do it explicitly.
94
-
95
- Note that `act` calls can be safely nested and internally form a stack of calls. However, overlapping `act` calls, which can be achieved using async version of `act`, [are not supported](https://github.com/facebook/react/blob/main/packages/react/src/ReactAct.js#L161).
96
-
97
- ### Implementation
98
-
99
- As of React version of 18.1.0, the `act` implementation is defined in the [ReactAct.js source file](https://github.com/facebook/react/blob/main/packages/react/src/ReactAct.js) inside React repository. This implementation has been fairly stable since React 17.0.
100
-
101
- RNTL exports `act` for convenience of the users as defined in the [act.ts source file](https://github.com/callstack/react-native-testing-library/blob/main/src/act.ts). That file refers to [ReactTestRenderer.js source](https://github.com/facebook/react/blob/ce13860281f833de8a3296b7a3dad9caced102e9/packages/react-test-renderer/src/ReactTestRenderer.js#L52) file from React Test Renderer package, which finally leads to React act implementation in ReactAct.js (already mentioned above).
102
-
103
- ## Asynchronous act
104
-
105
- So far we have seen synchronous version of `act` which runs its callback immediately. This can deal with things like synchronous effects or mocks using already resolved promises. However, not all component code is synchronous. Frequently our components or mocks contain some asynchronous behaviours like `setTimeout` calls or network calls. Starting from React 16.9, `act` can also be called in asynchronous mode. In such case `act` implementation checks that the passed callback returns [object resembling promise](https://github.com/facebook/react/blob/ce13860281f833de8a3296b7a3dad9caced102e9/packages/react/src/ReactAct.js#L60).
106
-
107
- ### Asynchronous code
108
-
109
- Asynchronous version of `act` also is executed immediately, but the callback is not yet completed because of some asynchronous operations inside.
110
-
111
- Lets look at a simple example with component using `setTimeout` call to simulate asynchronous behaviour:
112
-
113
- ```jsx
114
- function TestAsyncComponent() {
115
- const [count, setCount] = React.useState(0);
116
- React.useEffect(() => {
117
- setTimeout(() => {
118
- setCount((c) => c + 1);
119
- }, 50);
120
- }, []);
121
-
122
- return <Text>Count {count}</Text>;
123
- }
124
- ```
125
-
126
- ```jsx
127
- test('render async natively', () => {
128
- const view = render(<TestAsyncComponent />);
129
- expect(view.getByText('Count 0')).toBeOnTheScreen();
130
- });
131
- ```
132
-
133
- If we test our component in a native way without handling its asynchronous behaviour we will end up with sync act warning:
134
-
135
- ```
136
- Warning: An update to TestAsyncComponent inside a test was not wrapped in act(...).
137
-
138
- When testing, code that causes React state updates should be wrapped into act(...):
139
-
140
- act(() => {
141
- /* fire events that update state */
142
- });
143
- /* assert on the output */
144
- ```
145
-
146
- Note that this is not yet the infamous async act warning. It only asks us to wrap our event code with `act` calls. However, this time our immediate state change does not originate from externally triggered events but rather forms an internal part of the component. So how can we apply `act` in such scenario?
147
-
148
- ### Solution with fake timers
149
-
150
- First solution is to use Jest's fake timers inside out tests:
151
-
152
- ```jsx
153
- test('render with fake timers', () => {
154
- jest.useFakeTimers();
155
- const view = render(<TestAsyncComponent />);
156
-
157
- act(() => {
158
- jest.runAllTimers();
159
- });
160
- expect(view.getByText('Count 1')).toBeOnTheScreen();
161
- });
162
- ```
163
-
164
- That way we can wrap `jest.runAllTimers()` call which triggers the `setTimeout` updates inside an `act` call, hence resolving the act warning. Note that this whole code is synchronous thanks to usage of Jest fake timers.
165
-
166
- ### Solution with real timers
167
-
168
- If we wanted to stick with real timers then things get a bit more complex. Let’s start by applying a crude solution of opening async `act()` call for the expected duration of components updates:
169
-
170
- ```jsx
171
- test('render with real timers - sleep', async () => {
172
- const view = render(<TestAsyncComponent />);
173
- await act(async () => {
174
- await sleep(100); // Wait a bit longer than setTimeout in `TestAsyncComponent`
175
- });
176
-
177
- expect(view.getByText('Count 1')).toBeOnTheScreen();
178
- });
179
- ```
180
-
181
- This works correctly as we use an explicit async `act()` call that resolves the console error. However, it relies on our knowledge of exact implementation details which is a bad practice.
182
-
183
- Let’s try more elegant solution using `waitFor` that will wait for our desired state:
184
-
185
- ```jsx
186
- test('render with real timers - waitFor', async () => {
187
- const view = render(<TestAsyncComponent />);
188
-
189
- await waitFor(() => view.getByText('Count 1'));
190
- expect(view.getByText('Count 1')).toBeOnTheScreen();
191
- });
192
- ```
193
-
194
- This also works correctly, because `waitFor` call executes async `act()` call internally.
195
-
196
- The above code can be simplified using `findBy` query:
197
-
198
- ```jsx
199
- test('render with real timers - findBy', async () => {
200
- const view = render(<TestAsyncComponent />);
201
-
202
- expect(await view.findByText('Count 1')).toBeOnTheScreen();
203
- });
204
- ```
205
-
206
- This also works since `findByText` internally calls `waitFor` which uses async `act()`.
207
-
208
- Note that all of the above examples are async tests using & awaiting async `act()` function call.
209
-
210
- ### Async act warning
211
-
212
- If we modify any of the above async tests and remove `await` keyword, then we will trigger the notorious async `act()`warning:
213
-
214
- ```jsx
215
- Warning: You called act(async () => ...) without await. This could lead to unexpected
216
- testing behaviour, interleaving multiple act calls and mixing their scopes. You should
217
- - await act(async () => ...);
218
- ```
219
-
220
- React decides to show this error whenever it detects that async `act()`call [has not been awaited](https://github.com/facebook/react/blob/ce13860281f833de8a3296b7a3dad9caced102e9/packages/react/src/ReactAct.js#L93).
221
-
222
- The exact reasons why you might see async `act()` warnings vary, but finally it means that `act()` has been called with callback that returns `Promise`-like object, but it has not been waited on.
223
-
224
- ## References
225
-
226
- - [React `act` implementation source](https://github.com/facebook/react/blob/main/packages/react/src/ReactAct.js)
227
- - [React testing recipes: `act()`](https://reactjs.org/docs/testing-recipes.html#act)
@@ -1,143 +0,0 @@
1
- ---
2
- id: user-event
3
- title: User Event
4
- ---
5
-
6
- ### Table of contents
7
-
8
- - [Comparison with Fire Event API](#comparison-with-fire-event-api)
9
- - [`setup()`](#setup)
10
- - [Options](#options)
11
- - [`press()`](#press)
12
- - [`longPress()`](#longpress)
13
- - [Options](#options-1)
14
- - [`type()`](#type)
15
- - [Options](#options-2)
16
- - [Sequence of events](#sequence-of-events)
17
-
18
- :::caution
19
- User Event API is in beta stage.
20
-
21
- This means that we plan to keep the public API signatures to remain stable, but we might introduce breaking behavioural changes, e.g. changing the ordering or timing of emitted events, without a major version update. Hopefully, well written code should not rely on such specific details.
22
- :::
23
-
24
- ## Comparison with Fire Event API
25
-
26
- Fire Event is our original event simulation API. It offers ability to invoke **any event handler** declared on **either host or composite elements**. If the element does not have `onEventName` event handler for passed `eventName` event, or the element is disabled, Fire Event will traverse up the component tree, looking for event handler on both host and composite elements along the way. By default it will **not pass any event data**, but the user might provide it in the last argument.
27
-
28
- In contrast, User Event provides realistic event simulation for main user interactions like `press` or `type`. Each of the interactions will trigger a **sequence of events** corresponding to React Native runtime behavior. These events will be invoked **only on host elements**, and **will automatically receive event data** corresponding to each event.
29
-
30
- If User Event supports given interaction you should always prefer it over Fire Event counterpart, as it will make your tests much more realistic and hence reliable. In other cases, e.g. when event is not supported by User Event, or when invoking event handlers on composite elements, you have to use Fire Event as the only available option.
31
-
32
- ## `setup()`
33
-
34
- ```ts
35
- userEvent.setup(options?: {
36
- delay: number;
37
- advanceTimers: (delay: number) => Promise<void> | void;
38
- })
39
- ```
40
-
41
- Example
42
- ```ts
43
- const user = userEvent.setup();
44
- ```
45
-
46
- Creates an User Event object instance which can be used to trigger events.
47
-
48
- ### Options
49
- - `delay` - controls the default delay between subsequent events, e.g. keystrokes.
50
- - `advanceTimers` - time advancement utility function that should be used for fake timers. The default setup handles both real timers and Jest fake timers.
51
-
52
-
53
- ## `press()`
54
-
55
- ```ts
56
- press(
57
- element: ReactTestInstance,
58
- ): Promise<void>
59
- ```
60
-
61
- Example
62
- ```ts
63
- const user = userEvent.setup();
64
- await user.press(element);
65
- ```
66
-
67
- This helper simulates a press on any pressable element, e.g. `Pressable`, `TouchableOpacity`, `Text`, `TextInput`, etc. Unlike `fireEvent.press()` which is a simpler API that will only call the `onPress` prop, this function simulates the entire press interaction in a more realistic way by reproducing event sequence emitted by React Native runtime. This helper will trigger additional events like `pressIn` and `pressOut`.
68
-
69
- ## `longPress()`
70
-
71
- ```ts
72
- longPress(
73
- element: ReactTestInstance,
74
- options: { duration: number } = { duration: 500 }
75
- ): Promise<void>
76
- ```
77
-
78
- Example
79
- ```ts
80
- const user = userEvent.setup();
81
- await user.longPress(element);
82
- ```
83
-
84
- Simulates a long press user interaction. In React Native the `longPress` event is emitted when the press duration exceeds long press threshold (by default 500 ms). In other aspects this actions behaves similar to regular `press` action, e.g. by emitting `pressIn` and `pressOut` events. The press duration is customisable through the options. This should be useful if you use the `delayLongPress` prop. When using real timers this will take 500 ms so it is highly recommended to use that API with fake timers to prevent test taking a long time to run.
85
-
86
- ### Options
87
- - `duration` - duration of the press in miliseconds. Default value is 500 ms.
88
-
89
- ## `type()`
90
-
91
- ```ts
92
- type(
93
- element: ReactTestInstance,
94
- text: string,
95
- options?: {
96
- skipPress?: boolean
97
- submitEditing?: boolean
98
- }
99
- ```
100
-
101
- Example
102
- ```ts
103
- const user = userEvent.setup();
104
- await user.type(textInput, "Hello world!");
105
- ```
106
-
107
- This helper simulates user focusing on `TextInput` element, typing `text` one character at a time, and leaving the element.
108
-
109
- This function supports only host `TextInput` elements. Passing other element type will result in throwing error.
110
-
111
- ### Options
112
- - `skipPress` - if true, `pressIn` and `pressOut` events will not be triggered.
113
- - `submitEditing` - if true, `submitEditing` event will be triggered after typing the text.
114
-
115
- ### Sequence of events
116
-
117
- The sequence of events depends on `multiline` prop, as well as passed options.
118
-
119
- Events will not be emitted if `editable` prop is set to `false`.
120
-
121
- **Entering the element**:
122
- - `pressIn` (optional)
123
- - `focus`
124
- - `pressOut` (optional)
125
-
126
- The `pressIn` and `pressOut` events are sent by default, but can be skipped by passing `skipPress: true` option.
127
-
128
- **Typing (for each character)**:
129
- - `keyPress`
130
- - `textInput` (optional)
131
- - `change`
132
- - `changeText`
133
- - `selectionChange`
134
-
135
- The `textInput` event is sent only for mutliline text inputs.
136
-
137
- **Leaving the element**:
138
- - `submitEditing` (optional)
139
- - `endEditing`
140
- - `blur`
141
-
142
- The `submitEditing` event is skipped by default. It can sent by setting `submitEditing: true` option.
143
-
@@ -1,114 +0,0 @@
1
- const repoUrl = 'https://github.com/callstack/react-native-testing-library';
2
- const title = 'React Native Testing Library';
3
-
4
- const siteConfig = {
5
- title, // Title for your website.
6
- tagline: 'Helps you to write better tests with less effort.',
7
- url: 'https://callstack.github.io', // Your website URL
8
- baseUrl: '/react-native-testing-library/', // Base URL for your project
9
- // The name of the GitHub repository. Used by the deployment command
10
- projectName: 'react-native-testing-library',
11
- organizationName: 'callstack',
12
- favicon: 'img/owl.png',
13
- trailingSlash: false,
14
-
15
- themeConfig: {
16
- navbar: {
17
- title,
18
- logo: {
19
- alt: title,
20
- src: 'img/owl.png',
21
- },
22
- items: [
23
- { to: 'docs/getting-started', label: 'Docs', position: 'right' },
24
- { href: repoUrl, label: 'GitHub', position: 'right' },
25
- ],
26
- },
27
- footer: {
28
- style: 'dark',
29
- links: [
30
- {
31
- title: 'Docs',
32
- items: [
33
- {
34
- key: 1,
35
- label: 'Getting started',
36
- to: 'docs/getting-started',
37
- },
38
- {
39
- key: 2,
40
- label: 'API',
41
- to: 'docs/api',
42
- },
43
- ],
44
- },
45
- {
46
- title: 'Community',
47
- items: [
48
- {
49
- key: 3,
50
- label: 'Stack Overflow',
51
- href: 'http://stackoverflow.com/questions/tagged/react-native-testing-library',
52
- },
53
- {
54
- key: 4,
55
- label: 'Discord Channel',
56
- href: 'https://discord.gg/QbGezWe',
57
- },
58
- ],
59
- },
60
- {
61
- title: 'More',
62
- items: [
63
- {
64
- key: 5,
65
- label: 'GitHub',
66
- href: repoUrl,
67
- },
68
- {
69
- key: 6,
70
- label: 'Star',
71
- href: repoUrl,
72
- },
73
- ],
74
- },
75
- ],
76
- copyright: `Copyright © ${new Date().getFullYear()} Callstack Open Source`,
77
- },
78
- image: 'img/owl.png',
79
- prism: {
80
- theme: require('prism-react-renderer/themes/github'),
81
- darkTheme: require('prism-react-renderer/themes/dracula'),
82
- defaultLanguage: 'jsx',
83
- },
84
- algolia: {
85
- appId: '6CJ0BV6AVN',
86
- apiKey: '198ecded5a7987b04767482a8d6fe602',
87
- indexName: 'crawler_React Native Testing Library Docs',
88
- },
89
- },
90
-
91
- presets: [
92
- [
93
- '@docusaurus/preset-classic',
94
- {
95
- docs: {
96
- sidebarPath: require.resolve('./sidebars.js'),
97
- // Please change this to your repo.
98
- editUrl: `${repoUrl}/blob/main/website`,
99
- sidebarCollapsible: false,
100
- },
101
- blog: {
102
- showReadingTime: true,
103
- // Please change this to your repo.
104
- editUrl: `${repoUrl}/blob/main/blog`,
105
- },
106
- theme: {
107
- customCss: require.resolve('./src/css/custom.css'),
108
- },
109
- },
110
- ],
111
- ],
112
- };
113
-
114
- module.exports = siteConfig;
@@ -1,31 +0,0 @@
1
- {
2
- "name": "react-native-testing-library-website",
3
- "version": "0.0.0",
4
- "private": true,
5
- "scripts": {
6
- "start": "docusaurus start",
7
- "build": "docusaurus build",
8
- "swizzle": "docusaurus swizzle",
9
- "deploy": "docusaurus deploy"
10
- },
11
- "dependencies": {
12
- "@babel/core": "^7.11.1",
13
- "@docusaurus/core": "^2.3.1",
14
- "@docusaurus/preset-classic": "^2.3.1",
15
- "classnames": "^2.2.6",
16
- "react": "^17.0.2",
17
- "react-dom": "^17.0.2"
18
- },
19
- "browserslist": {
20
- "production": [
21
- ">0.2%",
22
- "not dead",
23
- "not op_mini all"
24
- ],
25
- "development": [
26
- "last 1 chrome version",
27
- "last 1 firefox version",
28
- "last 1 safari version"
29
- ]
30
- }
31
- }
@@ -1,20 +0,0 @@
1
- module.exports = {
2
- docs: {
3
- Introduction: ['getting-started', 'faq'],
4
- 'API Reference': ['api', 'api-queries', 'user-event'],
5
- Guides: [
6
- 'troubleshooting',
7
- 'how-should-i-query',
8
- 'eslint-plugin-testing-library',
9
- ],
10
- Advanced: ['testing-env', 'understanding-act'],
11
- Migrations: [
12
- 'migration-v12',
13
- 'migration-v11',
14
- 'migration-v9',
15
- 'migration-v7',
16
- 'migration-v2',
17
- ],
18
- Examples: ['react-navigation', 'redux-integration'],
19
- },
20
- };
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
- import classnames from 'classnames';
3
- import PropTypes from 'prop-types';
4
- import useBaseUrl from '@docusaurus/useBaseUrl';
5
- import styles from '../css/index.module.css';
6
-
7
- export default function Feature(props) {
8
- const imgUrl = useBaseUrl(props.imgUrl);
9
- return (
10
- <div className={classnames('col col--4', styles.feature)}>
11
- {imgUrl && (
12
- <div className="text--center">
13
- <img
14
- className={styles['feature-image']}
15
- src={imgUrl}
16
- alt={props.title}
17
- />
18
- </div>
19
- )}
20
-
21
- <h3 className={styles['feature-title']}>{props.title}</h3>
22
- <p className={styles['feature-description']}>{props.description}</p>
23
- </div>
24
- );
25
- }
26
-
27
- Feature.propTypes = {
28
- imgUrl: PropTypes.string,
29
- title: PropTypes.string.isRequired,
30
- description: PropTypes.string.isRequired,
31
- };
@@ -1,13 +0,0 @@
1
- :root {
2
- --ifm-color-primary: #bf8a65;
3
- --ifm-color-primary-dark: #b67a50;
4
- --ifm-color-primary-darker: #af7349;
5
- --ifm-color-primary-darkest: #905f3c;
6
- --ifm-color-primary-light: #c89a7a;
7
- --ifm-color-primary-lighter: #cca284;
8
- --ifm-color-primary-lightest: #d9b9a3;
9
- }
10
-
11
- .footer .footer__links {
12
- margin-bottom: 3rem;
13
- }