@testing-library/react-native 12.2.1 → 12.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/build/config.d.ts +1 -0
  2. package/build/config.js.map +1 -1
  3. package/build/fireEvent.js +2 -1
  4. package/build/fireEvent.js.map +1 -1
  5. package/build/helpers/accessiblity.d.ts +7 -0
  6. package/build/helpers/accessiblity.js +73 -2
  7. package/build/helpers/accessiblity.js.map +1 -1
  8. package/build/helpers/component-tree.d.ts +7 -0
  9. package/build/helpers/component-tree.js +18 -0
  10. package/build/helpers/component-tree.js.map +1 -1
  11. package/build/helpers/format-default.d.ts +1 -2
  12. package/build/helpers/format-default.js +22 -13
  13. package/build/helpers/format-default.js.map +1 -1
  14. package/build/helpers/format.js +1 -4
  15. package/build/helpers/format.js.map +1 -1
  16. package/build/helpers/host-component-names.d.ts +5 -0
  17. package/build/helpers/host-component-names.js +13 -1
  18. package/build/helpers/host-component-names.js.map +1 -1
  19. package/build/helpers/matchers/accessibilityState.js +3 -3
  20. package/build/helpers/matchers/accessibilityState.js.map +1 -1
  21. package/build/helpers/matchers/accessibilityValue.js +3 -2
  22. package/build/helpers/matchers/accessibilityValue.js.map +1 -1
  23. package/build/helpers/matchers/matchLabelText.d.ts +1 -1
  24. package/build/helpers/matchers/matchLabelText.js +5 -8
  25. package/build/helpers/matchers/matchLabelText.js.map +1 -1
  26. package/build/helpers/matchers/matchTextContent.js +2 -2
  27. package/build/helpers/matchers/matchTextContent.js.map +1 -1
  28. package/build/helpers/{getTextContent.js → text-content.js} +1 -1
  29. package/build/helpers/text-content.js.map +1 -0
  30. package/build/helpers/text-input.d.ts +3 -0
  31. package/build/helpers/text-input.js +21 -0
  32. package/build/helpers/text-input.js.map +1 -0
  33. package/build/matchers/extend-expect.d.js +2 -0
  34. package/build/matchers/extend-expect.d.js.map +1 -0
  35. package/build/matchers/extend-expect.d.ts +2 -0
  36. package/build/matchers/extend-expect.js +26 -0
  37. package/build/matchers/extend-expect.js.map +1 -0
  38. package/build/matchers/index.d.ts +9 -0
  39. package/build/matchers/index.js +75 -0
  40. package/build/matchers/index.js.map +1 -0
  41. package/build/matchers/to-be-checked.d.ts +6 -0
  42. package/build/matchers/to-be-checked.js +31 -0
  43. package/build/matchers/to-be-checked.js.map +1 -0
  44. package/build/matchers/to-be-disabled.d.ts +10 -0
  45. package/build/matchers/to-be-disabled.js +52 -0
  46. package/build/matchers/to-be-disabled.js.map +1 -0
  47. package/build/matchers/to-be-empty-element.d.ts +6 -0
  48. package/build/matchers/to-be-empty-element.js +20 -0
  49. package/build/matchers/to-be-empty-element.js.map +1 -0
  50. package/build/matchers/to-be-on-the-screen.d.ts +6 -0
  51. package/build/matchers/to-be-on-the-screen.js +29 -0
  52. package/build/matchers/to-be-on-the-screen.js.map +1 -0
  53. package/build/matchers/to-be-partially-checked.d.ts +6 -0
  54. package/build/matchers/to-be-partially-checked.js +28 -0
  55. package/build/matchers/to-be-partially-checked.js.map +1 -0
  56. package/build/matchers/to-be-visible.d.ts +6 -0
  57. package/build/matchers/to-be-visible.js +56 -0
  58. package/build/matchers/to-be-visible.js.map +1 -0
  59. package/build/matchers/to-have-display-value.d.ts +7 -0
  60. package/build/matchers/to-have-display-value.js +26 -0
  61. package/build/matchers/to-have-display-value.js.map +1 -0
  62. package/build/matchers/to-have-prop.d.ts +6 -0
  63. package/build/matchers/to-have-prop.js +35 -0
  64. package/build/matchers/to-have-prop.js.map +1 -0
  65. package/build/matchers/to-have-text-content.d.ts +7 -0
  66. package/build/matchers/to-have-text-content.js +21 -0
  67. package/build/matchers/to-have-text-content.js.map +1 -0
  68. package/build/matchers/utils.d.ts +18 -0
  69. package/build/matchers/utils.js +90 -0
  70. package/build/matchers/utils.js.map +1 -0
  71. package/build/matches.d.ts +1 -1
  72. package/build/matches.js.map +1 -1
  73. package/build/queries/displayValue.js +4 -3
  74. package/build/queries/displayValue.js.map +1 -1
  75. package/build/queries/labelText.js +2 -2
  76. package/build/queries/labelText.js.map +1 -1
  77. package/build/queries/role.js +1 -1
  78. package/build/queries/role.js.map +1 -1
  79. package/build/render.d.ts +12 -48
  80. package/build/user-event/clear.js +2 -1
  81. package/build/user-event/clear.js.map +1 -1
  82. package/build/user-event/press/press.js +2 -1
  83. package/build/user-event/press/press.js.map +1 -1
  84. package/build/user-event/type/type.js +2 -1
  85. package/build/user-event/type/type.js.map +1 -1
  86. package/build/user-event/utils/index.d.ts +0 -1
  87. package/build/user-event/utils/index.js +0 -11
  88. package/build/user-event/utils/index.js.map +1 -1
  89. package/package.json +6 -23
  90. package/.DS_Store +0 -0
  91. package/.codecov.yml +0 -9
  92. package/.eslintcache +0 -1
  93. package/.eslintignore +0 -3
  94. package/.eslintrc +0 -19
  95. package/.flowconfig +0 -63
  96. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  97. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  98. package/.github/ISSUE_TEMPLATE/question.md +0 -9
  99. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  100. package/.github/actions/setup-deps/action.yml +0 -22
  101. package/.github/actions/setup-website-deps/action.yml +0 -22
  102. package/.github/dependabot.yml +0 -10
  103. package/.github/workflows/deploy-website.yml +0 -36
  104. package/.github/workflows/example-apps.yml +0 -25
  105. package/.github/workflows/main.yml +0 -103
  106. package/.gitignore +0 -11
  107. package/.prettierrc.js +0 -5
  108. package/CODE_OF_CONDUCT.md +0 -73
  109. package/CONTRIBUTING.md +0 -64
  110. package/babel.config.js +0 -22
  111. package/build/helpers/getTextContent.js.map +0 -1
  112. package/build/user-event/utils/host-components.d.ts +0 -2
  113. package/build/user-event/utils/host-components.js +0 -11
  114. package/build/user-event/utils/host-components.js.map +0 -1
  115. package/examples/basic/.expo/README.md +0 -15
  116. package/examples/basic/.expo/packager-info.json +0 -4
  117. package/examples/basic/.expo/settings.json +0 -10
  118. package/examples/basic/.expo-shared/assets.json +0 -4
  119. package/examples/basic/.gitignore +0 -14
  120. package/examples/basic/App.tsx +0 -20
  121. package/examples/basic/README.md +0 -11
  122. package/examples/basic/__tests__/App.test.tsx +0 -137
  123. package/examples/basic/app.json +0 -31
  124. package/examples/basic/assets/adaptive-icon.png +0 -0
  125. package/examples/basic/assets/favicon.png +0 -0
  126. package/examples/basic/assets/icon.png +0 -0
  127. package/examples/basic/assets/splash.png +0 -0
  128. package/examples/basic/babel.config.js +0 -6
  129. package/examples/basic/components/Home.tsx +0 -28
  130. package/examples/basic/components/LoginForm.tsx +0 -138
  131. package/examples/basic/jest-setup.ts +0 -7
  132. package/examples/basic/jest.config.js +0 -5
  133. package/examples/basic/package.json +0 -30
  134. package/examples/basic/tsconfig.json +0 -7
  135. package/examples/basic/yarn.lock +0 -7499
  136. package/examples/react-navigation/README.md +0 -16
  137. package/examples/react-navigation/babel.config.js +0 -4
  138. package/examples/react-navigation/jest-setup.js +0 -11
  139. package/examples/react-navigation/jest.config.js +0 -10
  140. package/examples/react-navigation/package.json +0 -31
  141. package/examples/react-navigation/src/App.js +0 -21
  142. package/examples/react-navigation/src/DrawerNavigator.js +0 -15
  143. package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
  144. package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
  145. package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
  146. package/examples/react-navigation/src/StackNavigator.js +0 -15
  147. package/examples/react-navigation/src/StackNavigator.test.js +0 -34
  148. package/examples/react-navigation/src/TabNavigator.js +0 -15
  149. package/examples/react-navigation/src/TabNavigator.test.js +0 -21
  150. package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
  151. package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
  152. package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
  153. package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
  154. package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
  155. package/examples/react-navigation/src/test-utils.js +0 -12
  156. package/examples/react-navigation/yarn.lock +0 -5018
  157. package/examples/redux/App.js +0 -27
  158. package/examples/redux/README.md +0 -5
  159. package/examples/redux/actions/todoActions.js +0 -25
  160. package/examples/redux/babel.config.js +0 -6
  161. package/examples/redux/components/AddTodo.js +0 -73
  162. package/examples/redux/components/AddTodo.test.js +0 -27
  163. package/examples/redux/components/TodoElem.js +0 -25
  164. package/examples/redux/components/TodoList.js +0 -29
  165. package/examples/redux/components/TodoList.test.js +0 -34
  166. package/examples/redux/index.js +0 -8
  167. package/examples/redux/jest-setup.js +0 -2
  168. package/examples/redux/jest.config.js +0 -4
  169. package/examples/redux/package.json +0 -23
  170. package/examples/redux/reducers/index.js +0 -6
  171. package/examples/redux/reducers/todoReducer.js +0 -27
  172. package/examples/redux/store.js +0 -10
  173. package/examples/redux/test-utils.js +0 -11
  174. package/examples/redux/yarn.lock +0 -4819
  175. package/experiments-app/.expo/README.md +0 -15
  176. package/experiments-app/.expo/devices.json +0 -3
  177. package/experiments-app/.expo/packager-info.json +0 -9
  178. package/experiments-app/.expo/settings.json +0 -9
  179. package/experiments-app/.gitignore +0 -17
  180. package/experiments-app/.prettierrc.js +0 -5
  181. package/experiments-app/app.json +0 -30
  182. package/experiments-app/assets/adaptive-icon.png +0 -0
  183. package/experiments-app/assets/favicon.png +0 -0
  184. package/experiments-app/assets/icon.png +0 -0
  185. package/experiments-app/assets/splash.png +0 -0
  186. package/experiments-app/babel.config.js +0 -6
  187. package/experiments-app/index.js +0 -4
  188. package/experiments-app/package.json +0 -29
  189. package/experiments-app/src/App.tsx +0 -31
  190. package/experiments-app/src/MainScreen.tsx +0 -52
  191. package/experiments-app/src/experiments.ts +0 -35
  192. package/experiments-app/src/screens/FlatListEvents.tsx +0 -57
  193. package/experiments-app/src/screens/ScrollViewEvents.tsx +0 -65
  194. package/experiments-app/src/screens/SectionListEvents.tsx +0 -91
  195. package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -42
  196. package/experiments-app/src/screens/TextInputEvents.tsx +0 -48
  197. package/experiments-app/src/utils/helpers.ts +0 -18
  198. package/experiments-app/tsconfig.json +0 -6
  199. package/experiments-app/yarn.lock +0 -6709
  200. package/experiments-rtl/.babelrc +0 -8
  201. package/experiments-rtl/.eslintrc.json +0 -3
  202. package/experiments-rtl/.gitignore +0 -35
  203. package/experiments-rtl/README.md +0 -34
  204. package/experiments-rtl/jest-setup.js +0 -1
  205. package/experiments-rtl/jest.config.js +0 -4
  206. package/experiments-rtl/next.config.js +0 -4
  207. package/experiments-rtl/package.json +0 -38
  208. package/experiments-rtl/postcss.config.js +0 -6
  209. package/experiments-rtl/public/next.svg +0 -1
  210. package/experiments-rtl/public/vercel.svg +0 -1
  211. package/experiments-rtl/src/app/__tests__/click.test.tsx +0 -31
  212. package/experiments-rtl/src/app/__tests__/managed-text-input.test.tsx +0 -51
  213. package/experiments-rtl/src/app/globals.css +0 -27
  214. package/experiments-rtl/src/app/layout.tsx +0 -22
  215. package/experiments-rtl/src/app/page.tsx +0 -113
  216. package/experiments-rtl/tailwind.config.ts +0 -20
  217. package/experiments-rtl/tsconfig.json +0 -28
  218. package/experiments-rtl/yarn.lock +0 -5418
  219. package/flow-typed/npm/jest_v26.x.x.js +0 -1218
  220. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
  221. package/jest-setup.ts +0 -10
  222. package/renovate.json +0 -19
  223. package/scripts/test_react_17 +0 -12
  224. package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
  225. package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
  226. package/src/__tests__/act.test.tsx +0 -56
  227. package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
  228. package/src/__tests__/auto-cleanup.test.tsx +0 -50
  229. package/src/__tests__/cleanup.test.tsx +0 -26
  230. package/src/__tests__/config.test.ts +0 -55
  231. package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
  232. package/src/__tests__/fireEvent.test.tsx +0 -485
  233. package/src/__tests__/host-component-names.test.tsx +0 -109
  234. package/src/__tests__/host-text-nesting.test.tsx +0 -90
  235. package/src/__tests__/jest-native.test.tsx +0 -84
  236. package/src/__tests__/questionsBoard.test.tsx +0 -62
  237. package/src/__tests__/react-native-api.test.tsx +0 -126
  238. package/src/__tests__/render-debug.test.tsx +0 -207
  239. package/src/__tests__/render-stringValidation.test.tsx +0 -157
  240. package/src/__tests__/render.test.tsx +0 -256
  241. package/src/__tests__/renderHook.test.tsx +0 -114
  242. package/src/__tests__/screen.test.tsx +0 -66
  243. package/src/__tests__/timerUtils.ts +0 -7
  244. package/src/__tests__/timers.test.ts +0 -27
  245. package/src/__tests__/waitFor.test.tsx +0 -327
  246. package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
  247. package/src/__tests__/within.test.tsx +0 -96
  248. package/src/act.ts +0 -86
  249. package/src/cleanup.ts +0 -15
  250. package/src/config.ts +0 -72
  251. package/src/fireEvent.ts +0 -159
  252. package/src/flush-micro-tasks.ts +0 -30
  253. package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
  254. package/src/helpers/__tests__/component-tree.test.tsx +0 -226
  255. package/src/helpers/__tests__/format-default.tsx +0 -114
  256. package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
  257. package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
  258. package/src/helpers/__tests__/query-name.test.ts +0 -10
  259. package/src/helpers/__tests__/timers.test.ts +0 -8
  260. package/src/helpers/accessiblity.ts +0 -108
  261. package/src/helpers/component-tree.ts +0 -94
  262. package/src/helpers/debugDeep.ts +0 -27
  263. package/src/helpers/debugShallow.ts +0 -22
  264. package/src/helpers/deprecation.ts +0 -53
  265. package/src/helpers/errors.ts +0 -66
  266. package/src/helpers/findAll.ts +0 -70
  267. package/src/helpers/format-default.ts +0 -72
  268. package/src/helpers/format.ts +0 -47
  269. package/src/helpers/getTextContent.ts +0 -20
  270. package/src/helpers/host-component-names.tsx +0 -88
  271. package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
  272. package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
  273. package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
  274. package/src/helpers/matchers/accessibilityState.ts +0 -48
  275. package/src/helpers/matchers/accessibilityValue.ts +0 -24
  276. package/src/helpers/matchers/matchArrayProp.ts +0 -21
  277. package/src/helpers/matchers/matchLabelText.ts +0 -50
  278. package/src/helpers/matchers/matchObjectProp.ts +0 -25
  279. package/src/helpers/matchers/matchStringProp.ts +0 -23
  280. package/src/helpers/matchers/matchTextContent.ts +0 -20
  281. package/src/helpers/pointer-events.ts +0 -27
  282. package/src/helpers/query-name.ts +0 -4
  283. package/src/helpers/stringValidation.ts +0 -36
  284. package/src/helpers/timers.ts +0 -98
  285. package/src/index.ts +0 -33
  286. package/src/matches.ts +0 -49
  287. package/src/pure.ts +0 -27
  288. package/src/queries/__tests__/a11yState.test.tsx +0 -439
  289. package/src/queries/__tests__/a11yValue.test.tsx +0 -309
  290. package/src/queries/__tests__/displayValue.test.tsx +0 -221
  291. package/src/queries/__tests__/hintText.test.tsx +0 -177
  292. package/src/queries/__tests__/labelText.test.tsx +0 -242
  293. package/src/queries/__tests__/makeQueries.test.tsx +0 -235
  294. package/src/queries/__tests__/placeholderText.test.tsx +0 -136
  295. package/src/queries/__tests__/role-value.test.tsx +0 -176
  296. package/src/queries/__tests__/role.test.tsx +0 -824
  297. package/src/queries/__tests__/testId.test.tsx +0 -200
  298. package/src/queries/__tests__/text.test.tsx +0 -556
  299. package/src/queries/a11yState.ts +0 -127
  300. package/src/queries/a11yValue.ts +0 -127
  301. package/src/queries/displayValue.ts +0 -71
  302. package/src/queries/hintText.ts +0 -107
  303. package/src/queries/labelText.ts +0 -57
  304. package/src/queries/makeQueries.ts +0 -255
  305. package/src/queries/options.ts +0 -14
  306. package/src/queries/placeholderText.ts +0 -72
  307. package/src/queries/role.ts +0 -131
  308. package/src/queries/testId.ts +0 -66
  309. package/src/queries/text.ts +0 -63
  310. package/src/queries/unsafeProps.ts +0 -76
  311. package/src/queries/unsafeType.ts +0 -73
  312. package/src/react-versions.ts +0 -11
  313. package/src/render-act.ts +0 -19
  314. package/src/render.tsx +0 -183
  315. package/src/renderHook.tsx +0 -56
  316. package/src/screen.ts +0 -123
  317. package/src/shallow.ts +0 -18
  318. package/src/test-utils/events.ts +0 -24
  319. package/src/test-utils/index.ts +0 -1
  320. package/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +0 -269
  321. package/src/user-event/__tests__/clear.test.tsx +0 -217
  322. package/src/user-event/clear.ts +0 -59
  323. package/src/user-event/event-builder/common.ts +0 -66
  324. package/src/user-event/event-builder/index.ts +0 -7
  325. package/src/user-event/event-builder/text-input.ts +0 -86
  326. package/src/user-event/index.ts +0 -18
  327. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
  328. package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
  329. package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
  330. package/src/user-event/press/__tests__/press.test.tsx +0 -457
  331. package/src/user-event/press/constants.ts +0 -7
  332. package/src/user-event/press/index.ts +0 -1
  333. package/src/user-event/press/press.ts +0 -163
  334. package/src/user-event/setup/index.ts +0 -2
  335. package/src/user-event/setup/setup.ts +0 -142
  336. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
  337. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
  338. package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
  339. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -120
  340. package/src/user-event/type/__tests__/type.test.tsx +0 -335
  341. package/src/user-event/type/index.ts +0 -1
  342. package/src/user-event/type/parseKeys.ts +0 -41
  343. package/src/user-event/type/type.ts +0 -138
  344. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
  345. package/src/user-event/utils/__tests__/wait.test.ts +0 -62
  346. package/src/user-event/utils/content-size.ts +0 -25
  347. package/src/user-event/utils/dispatch-event.ts +0 -38
  348. package/src/user-event/utils/host-components.ts +0 -6
  349. package/src/user-event/utils/index.ts +0 -6
  350. package/src/user-event/utils/text-range.ts +0 -4
  351. package/src/user-event/utils/wait.ts +0 -15
  352. package/src/user-event/utils/warn-about-real-timers.ts +0 -13
  353. package/src/waitFor.ts +0 -228
  354. package/src/waitForElementToBeRemoved.ts +0 -42
  355. package/src/within.ts +0 -30
  356. package/tsconfig.json +0 -17
  357. package/tsconfig.release.json +0 -8
  358. package/website/.gitignore +0 -20
  359. package/website/README.md +0 -33
  360. package/website/docker/.dockerignore +0 -3
  361. package/website/docker/Dockerfile +0 -9
  362. package/website/docker/docker-compose.yml +0 -11
  363. package/website/docs/API.md +0 -940
  364. package/website/docs/EslintPLluginTestingLibrary.md +0 -28
  365. package/website/docs/FAQ.md +0 -44
  366. package/website/docs/GettingStarted.md +0 -100
  367. package/website/docs/HowShouldIQuery.md +0 -21
  368. package/website/docs/MigrationV11.md +0 -64
  369. package/website/docs/MigrationV12.md +0 -67
  370. package/website/docs/MigrationV2.md +0 -126
  371. package/website/docs/MigrationV7.md +0 -119
  372. package/website/docs/MigrationV9.md +0 -67
  373. package/website/docs/Queries.md +0 -572
  374. package/website/docs/ReactNavigation.md +0 -371
  375. package/website/docs/ReduxIntegration.md +0 -137
  376. package/website/docs/TestingEnvironment.md +0 -154
  377. package/website/docs/Troubleshooting.md +0 -44
  378. package/website/docs/UnderstandingAct.md +0 -227
  379. package/website/docs/UserEvent.md +0 -191
  380. package/website/docusaurus.config.js +0 -114
  381. package/website/package.json +0 -31
  382. package/website/sidebars.js +0 -20
  383. package/website/src/components/Feature.js +0 -31
  384. package/website/src/css/custom.css +0 -13
  385. package/website/src/css/index.module.css +0 -77
  386. package/website/src/pages/index.js +0 -82
  387. package/website/static/.nojekyll +0 -0
  388. package/website/static/css/custom.css +0 -28
  389. package/website/static/img/hit.png +0 -0
  390. package/website/static/img/locomotive.png +0 -0
  391. package/website/static/img/owl.png +0 -0
  392. package/website/static/img/tools.png +0 -0
  393. package/website/yarn.lock +0 -7669
  394. package/yarn.lock +0 -7765
  395. /package/build/helpers/{getTextContent.d.ts → text-content.d.ts} +0 -0
@@ -1,56 +0,0 @@
1
- import * as React from 'react';
2
- import { Text } from 'react-native';
3
- import act from '../act';
4
- import render from '../render';
5
- import fireEvent from '../fireEvent';
6
-
7
- type UseEffectProps = { callback(): void };
8
- const UseEffect = ({ callback }: UseEffectProps) => {
9
- React.useEffect(callback);
10
- return null;
11
- };
12
-
13
- const Counter = () => {
14
- const [count, setCount] = React.useState(0);
15
-
16
- const text = `Total count: ${count}`;
17
- return <Text onPress={() => setCount(count + 1)}>{text}</Text>;
18
- };
19
-
20
- test('render should trigger useEffect', () => {
21
- const effectCallback = jest.fn();
22
- render(<UseEffect callback={effectCallback} />);
23
-
24
- expect(effectCallback).toHaveBeenCalledTimes(1);
25
- });
26
-
27
- test('update should trigger useEffect', () => {
28
- const effectCallback = jest.fn();
29
- const { update } = render(<UseEffect callback={effectCallback} />);
30
- update(<UseEffect callback={effectCallback} />);
31
-
32
- expect(effectCallback).toHaveBeenCalledTimes(2);
33
- });
34
-
35
- test('fireEvent should trigger useState', () => {
36
- const { getByText } = render(<Counter />);
37
- const counter = getByText(/Total count/i);
38
-
39
- expect(counter.props.children).toEqual('Total count: 0');
40
- fireEvent.press(counter);
41
- expect(counter.props.children).toEqual('Total count: 1');
42
- });
43
-
44
- test('should be able to not await act', async () => {
45
- const result = act(() => {});
46
- expect(result).toHaveProperty('then');
47
- });
48
-
49
- test('should be able to await act', async () => {
50
- const result = await act(async () => {});
51
- expect(result).toBe(undefined);
52
- });
53
-
54
- test('should be able to await act when promise rejects', async () => {
55
- await expect(act(async () => Promise.reject('error'))).rejects.toBe('error');
56
- });
@@ -1,39 +0,0 @@
1
- import * as React from 'react';
2
- import { View } from 'react-native';
3
-
4
- let render: (element: React.ReactElement) => void;
5
- beforeAll(() => {
6
- process.env.RNTL_SKIP_AUTO_CLEANUP = 'true';
7
- const rntl = require('..');
8
- render = rntl.render;
9
- });
10
-
11
- let isMounted = false;
12
-
13
- class Test extends React.Component<{ onUnmount?(): void }> {
14
- componentDidMount() {
15
- isMounted = true;
16
- }
17
-
18
- componentWillUnmount() {
19
- isMounted = false;
20
- if (this.props.onUnmount) {
21
- this.props.onUnmount();
22
- }
23
- }
24
- render() {
25
- return <View />;
26
- }
27
- }
28
-
29
- // This just verifies that by importing RNTL in pure mode in an environment which supports
30
- // afterEach (like jest) we won't get automatic cleanup between tests.
31
- test('component is mounted, but not umounted before test ends', () => {
32
- const fn = jest.fn();
33
- render(<Test onUnmount={fn} />);
34
- expect(fn).not.toHaveBeenCalled();
35
- });
36
-
37
- test('component is NOT automatically umounted after first test ends', () => {
38
- expect(isMounted).toEqual(true);
39
- });
@@ -1,50 +0,0 @@
1
- import * as React from 'react';
2
- import { View } from 'react-native';
3
- import { render } from '..';
4
-
5
- let isMounted = false;
6
-
7
- class Test extends React.Component<{ onUnmount?(): void }> {
8
- componentDidMount() {
9
- isMounted = true;
10
- }
11
-
12
- componentWillUnmount() {
13
- isMounted = false;
14
- if (this.props.onUnmount) {
15
- this.props.onUnmount();
16
- }
17
- }
18
- render() {
19
- return <View />;
20
- }
21
- }
22
-
23
- afterEach(() => {
24
- jest.useRealTimers();
25
- });
26
-
27
- // This just verifies that by importing RNTL in an environment which supports afterEach (like jest)
28
- // we'll get automatic cleanup between tests.
29
- test('component is mounted, but not umounted before test ends', () => {
30
- const fn = jest.fn();
31
- render(<Test onUnmount={fn} />);
32
- expect(isMounted).toEqual(true);
33
- expect(fn).not.toHaveBeenCalled();
34
- });
35
-
36
- test('component is automatically umounted after first test ends', () => {
37
- expect(isMounted).toEqual(false);
38
- });
39
-
40
- test('does not time out with legacy fake timers', () => {
41
- jest.useFakeTimers({ legacyFakeTimers: true });
42
- render(<Test />);
43
- expect(isMounted).toEqual(true);
44
- });
45
-
46
- test('does not time out with fake timers', () => {
47
- jest.useFakeTimers();
48
- render(<Test />);
49
- expect(isMounted).toEqual(true);
50
- });
@@ -1,26 +0,0 @@
1
- /* eslint-disable react/no-multi-comp */
2
- import * as React from 'react';
3
- import { View } from 'react-native';
4
- import { cleanup, render } from '../pure';
5
-
6
- class Test extends React.Component<{ onUnmount: () => void }> {
7
- componentWillUnmount() {
8
- if (this.props.onUnmount) {
9
- this.props.onUnmount();
10
- }
11
- }
12
- render() {
13
- return <View />;
14
- }
15
- }
16
-
17
- test('cleanup', () => {
18
- const fn = jest.fn();
19
-
20
- render(<Test onUnmount={fn} />);
21
- render(<Test onUnmount={fn} />);
22
- expect(fn).not.toHaveBeenCalled();
23
-
24
- cleanup();
25
- expect(fn).toHaveBeenCalledTimes(2);
26
- });
@@ -1,55 +0,0 @@
1
- import {
2
- getConfig,
3
- configure,
4
- resetToDefaults,
5
- configureInternal,
6
- } from '../config';
7
-
8
- test('getConfig() returns existing configuration', () => {
9
- expect(getConfig().asyncUtilTimeout).toEqual(1000);
10
- expect(getConfig().defaultIncludeHiddenElements).toEqual(false);
11
- });
12
-
13
- test('configure() overrides existing config values', () => {
14
- configure({ asyncUtilTimeout: 5000 });
15
- configure({ defaultDebugOptions: { message: 'debug message' } });
16
- expect(getConfig()).toEqual({
17
- asyncUtilTimeout: 5000,
18
- defaultDebugOptions: { message: 'debug message' },
19
- defaultIncludeHiddenElements: false,
20
- });
21
- });
22
-
23
- test('resetToDefaults() resets config to defaults', () => {
24
- configure({
25
- asyncUtilTimeout: 5000,
26
- defaultIncludeHiddenElements: true,
27
- });
28
- expect(getConfig().asyncUtilTimeout).toEqual(5000);
29
- expect(getConfig().defaultIncludeHiddenElements).toEqual(true);
30
-
31
- resetToDefaults();
32
- expect(getConfig().asyncUtilTimeout).toEqual(1000);
33
- expect(getConfig().defaultIncludeHiddenElements).toEqual(false);
34
- });
35
-
36
- test('resetToDefaults() resets internal config to defaults', () => {
37
- configureInternal({
38
- hostComponentNames: { text: 'A', textInput: 'A', switch: 'A' },
39
- });
40
- expect(getConfig().hostComponentNames).toEqual({
41
- text: 'A',
42
- textInput: 'A',
43
- switch: 'A',
44
- });
45
-
46
- resetToDefaults();
47
- expect(getConfig().hostComponentNames).toBe(undefined);
48
- });
49
-
50
- test('configure handles alias option defaultHidden', () => {
51
- expect(getConfig().defaultIncludeHiddenElements).toEqual(false);
52
-
53
- configure({ defaultHidden: true });
54
- expect(getConfig().defaultIncludeHiddenElements).toEqual(true);
55
- });
@@ -1,154 +0,0 @@
1
- import React from 'react';
2
- import { Text, TextInput, TextInputProps } from 'react-native';
3
- import { render, fireEvent } from '..';
4
-
5
- function WrappedTextInput(props: TextInputProps) {
6
- return <TextInput {...props} />;
7
- }
8
-
9
- function DoubleWrappedTextInput(props: TextInputProps) {
10
- return <WrappedTextInput {...props} />;
11
- }
12
-
13
- const layoutEvent = { nativeEvent: { layout: { width: 100, height: 100 } } };
14
-
15
- test('should fire only non-touch-related events on non-editable TextInput', () => {
16
- const onFocus = jest.fn();
17
- const onChangeText = jest.fn();
18
- const onSubmitEditing = jest.fn();
19
- const onLayout = jest.fn();
20
-
21
- const view = render(
22
- <TextInput
23
- editable={false}
24
- testID="subject"
25
- onFocus={onFocus}
26
- onChangeText={onChangeText}
27
- onSubmitEditing={onSubmitEditing}
28
- onLayout={onLayout}
29
- />
30
- );
31
-
32
- const subject = view.getByTestId('subject');
33
- fireEvent(subject, 'focus');
34
- fireEvent.changeText(subject, 'Text');
35
- fireEvent(subject, 'submitEditing', { nativeEvent: { text: 'Text' } });
36
- fireEvent(subject, 'layout', layoutEvent);
37
-
38
- expect(onFocus).not.toHaveBeenCalled();
39
- expect(onChangeText).not.toHaveBeenCalled();
40
- expect(onSubmitEditing).not.toHaveBeenCalled();
41
- expect(onLayout).toHaveBeenCalledWith(layoutEvent);
42
- });
43
-
44
- test('should fire only non-touch-related events on non-editable TextInput with nested Text', () => {
45
- const onFocus = jest.fn();
46
- const onChangeText = jest.fn();
47
- const onSubmitEditing = jest.fn();
48
- const onLayout = jest.fn();
49
-
50
- const view = render(
51
- <TextInput
52
- editable={false}
53
- testID="subject"
54
- onFocus={onFocus}
55
- onChangeText={onChangeText}
56
- onSubmitEditing={onSubmitEditing}
57
- onLayout={onLayout}
58
- >
59
- <Text>Nested Text</Text>
60
- </TextInput>
61
- );
62
-
63
- const subject = view.getByText('Nested Text');
64
- fireEvent(subject, 'focus');
65
- fireEvent(subject, 'onFocus');
66
- fireEvent.changeText(subject, 'Text');
67
- fireEvent(subject, 'submitEditing', { nativeEvent: { text: 'Text' } });
68
- fireEvent(subject, 'onSubmitEditing', { nativeEvent: { text: 'Text' } });
69
- fireEvent(subject, 'layout', layoutEvent);
70
- fireEvent(subject, 'onLayout', layoutEvent);
71
-
72
- expect(onFocus).not.toHaveBeenCalled();
73
- expect(onChangeText).not.toHaveBeenCalled();
74
- expect(onSubmitEditing).not.toHaveBeenCalled();
75
- expect(onLayout).toHaveBeenCalledTimes(2);
76
- expect(onLayout).toHaveBeenCalledWith(layoutEvent);
77
- });
78
-
79
- /**
80
- * Historically there were problems with custom TextInput wrappers, as they
81
- * could creat a hierarchy of three or more composite text input views with
82
- * very similar event props.
83
- *
84
- * Typical hierarchy would be:
85
- * - User composite TextInput
86
- * - UI library composite TextInput
87
- * - RN composite TextInput
88
- * - RN host TextInput
89
- *
90
- * Previous implementation of fireEvent only checked `editable` prop for
91
- * RN TextInputs, both host & composite but did not check on the UI library or
92
- * user composite TextInput level, hence invoking the event handlers that
93
- * should be blocked by `editable={false}` prop.
94
- */
95
- test('should fire only non-touch-related events on non-editable wrapped TextInput', () => {
96
- const onFocus = jest.fn();
97
- const onChangeText = jest.fn();
98
- const onSubmitEditing = jest.fn();
99
- const onLayout = jest.fn();
100
-
101
- const view = render(
102
- <WrappedTextInput
103
- editable={false}
104
- testID="subject"
105
- onFocus={onFocus}
106
- onChangeText={onChangeText}
107
- onSubmitEditing={onSubmitEditing}
108
- onLayout={onLayout}
109
- />
110
- );
111
-
112
- const subject = view.getByTestId('subject');
113
- fireEvent(subject, 'focus');
114
- fireEvent.changeText(subject, 'Text');
115
- fireEvent(subject, 'submitEditing', { nativeEvent: { text: 'Text' } });
116
- fireEvent(subject, 'layout', layoutEvent);
117
-
118
- expect(onFocus).not.toHaveBeenCalled();
119
- expect(onChangeText).not.toHaveBeenCalled();
120
- expect(onSubmitEditing).not.toHaveBeenCalled();
121
- expect(onLayout).toHaveBeenCalledWith(layoutEvent);
122
- });
123
-
124
- /**
125
- * Ditto testing for even deeper hierarchy of TextInput wrappers.
126
- */
127
- test('should fire only non-touch-related events on non-editable double wrapped TextInput', () => {
128
- const onFocus = jest.fn();
129
- const onChangeText = jest.fn();
130
- const onSubmitEditing = jest.fn();
131
- const onLayout = jest.fn();
132
-
133
- const view = render(
134
- <DoubleWrappedTextInput
135
- editable={false}
136
- testID="subject"
137
- onFocus={onFocus}
138
- onChangeText={onChangeText}
139
- onSubmitEditing={onSubmitEditing}
140
- onLayout={onLayout}
141
- />
142
- );
143
-
144
- const subject = view.getByTestId('subject');
145
- fireEvent(subject, 'focus');
146
- fireEvent.changeText(subject, 'Text');
147
- fireEvent(subject, 'submitEditing', { nativeEvent: { text: 'Text' } });
148
- fireEvent(subject, 'layout', layoutEvent);
149
-
150
- expect(onFocus).not.toHaveBeenCalled();
151
- expect(onChangeText).not.toHaveBeenCalled();
152
- expect(onSubmitEditing).not.toHaveBeenCalled();
153
- expect(onLayout).toHaveBeenCalledWith(layoutEvent);
154
- });