@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,84 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, View, Button, Text, TextInput } from 'react-native';
3
- import { render } from '..';
4
- import '@testing-library/jest-native/extend-expect';
5
-
6
- const style = StyleSheet.create({
7
- style1: {
8
- color: 'red',
9
- backgroundColor: 'green',
10
- },
11
- });
12
-
13
- test('jest-native matchers work correctly', () => {
14
- const { getByText, getByA11yHint } = render(
15
- <View>
16
- <Button title="Enabled Button" onPress={jest.fn()} />
17
- <Button title="Disabled Button" disabled={true} onPress={jest.fn()} />
18
- <Text accessibilityHint="Empty Text" style={style.style1} />
19
- <Text accessibilityHint="Not Empty Text">Not empty</Text>
20
- <View accessibilityHint="Empty View" />
21
- <View accessibilityHint="Not Empty View">
22
- <Text />
23
- </View>
24
- <View accessibilityHint="Container View">
25
- <View accessibilityHint="First-Level Child">
26
- <Text>Second-Level Child</Text>
27
- </View>
28
- </View>
29
- <TextInput
30
- accessibilityHint="Text Input"
31
- allowFontScaling={false}
32
- secureTextEntry={true}
33
- defaultValue="111"
34
- />
35
- </View>
36
- );
37
-
38
- expect(getByText('Enabled Button')).toBeEnabled();
39
- expect(getByText('Disabled Button')).not.toBeEnabled();
40
- expect(getByText('Disabled Button')).toBeDisabled();
41
- expect(getByText('Enabled Button')).not.toBeDisabled();
42
-
43
- expect(getByA11yHint('Empty Text')).toBeEmptyElement();
44
- expect(getByA11yHint('Empty View')).toBeEmptyElement();
45
- expect(getByA11yHint('Not Empty Text')).not.toBeEmptyElement();
46
- expect(getByA11yHint('Not Empty View')).not.toBeEmptyElement();
47
-
48
- expect(getByA11yHint('Container View')).toContainElement(
49
- // $FlowFixMe - TODO: fix @testing-library/jest-native flow typings
50
- getByA11yHint('First-Level Child')
51
- );
52
- expect(getByA11yHint('Container View')).toContainElement(
53
- // $FlowFixMe - TODO: fix @testing-library/jest-native flow typings
54
- getByText('Second-Level Child')
55
- );
56
- expect(getByA11yHint('Container View')).not.toContainElement(
57
- // $FlowFixMe - TODO: fix @testing-library/jest-native flow typings
58
- getByText('Enabled Button')
59
- );
60
-
61
- expect(getByA11yHint('Not Empty Text')).toHaveTextContent('Not empty');
62
- expect(getByA11yHint('Not Empty Text')).toHaveTextContent(/Not empty/);
63
- expect(getByA11yHint('Not Empty Text')).not.toHaveTextContent('Is empty');
64
-
65
- expect(getByA11yHint('Empty Text')).toHaveStyle({ color: 'red' });
66
- expect(getByA11yHint('Empty Text')).toHaveStyle({
67
- color: 'red',
68
- backgroundColor: 'green',
69
- });
70
- expect(getByA11yHint('Empty Text')).not.toHaveStyle({ color: 'green' });
71
- expect(getByA11yHint('Empty Text')).not.toHaveStyle({
72
- color: 'green',
73
- backgroundColor: 'green',
74
- });
75
-
76
- const textInput = getByA11yHint('Text Input');
77
- expect(textInput).toBeTruthy();
78
- expect(textInput).toHaveProp('allowFontScaling');
79
- expect(textInput).toHaveProp('allowFontScaling', false);
80
- expect(textInput).toHaveProp('secureTextEntry');
81
- expect(textInput).toHaveProp('secureTextEntry', true);
82
- expect(textInput).toHaveProp('defaultValue');
83
- expect(textInput).toHaveProp('defaultValue', '111');
84
- });
@@ -1,62 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- View,
4
- TouchableOpacity,
5
- Text,
6
- ScrollView,
7
- TextInput,
8
- } from 'react-native';
9
- import { render, fireEvent } from '..';
10
-
11
- type QuestionsBoardProps = {
12
- questions: string[];
13
- onSubmit: (obj: {}) => void;
14
- };
15
- function QuestionsBoard({ questions, onSubmit }: QuestionsBoardProps) {
16
- const [data, setData] = React.useState({});
17
-
18
- return (
19
- <ScrollView>
20
- {questions.map((q, index) => {
21
- return (
22
- <View key={q}>
23
- <Text>{q}</Text>
24
- <TextInput
25
- accessibilityLabel="answer input"
26
- accessibilityHint="input"
27
- onChangeText={(text) => {
28
- setData((state) => ({
29
- ...state,
30
- [index + 1]: { q, a: text },
31
- }));
32
- }}
33
- />
34
- </View>
35
- );
36
- })}
37
- <TouchableOpacity onPress={() => onSubmit(data)}>
38
- <Text>Submit</Text>
39
- </TouchableOpacity>
40
- </ScrollView>
41
- );
42
- }
43
-
44
- test('form submits two answers', () => {
45
- const allQuestions = ['q1', 'q2'];
46
- const mockFn = jest.fn();
47
-
48
- const { getAllByLabelText, getByText } = render(
49
- <QuestionsBoard questions={allQuestions} onSubmit={mockFn} />
50
- );
51
-
52
- const answerInputs = getAllByLabelText('answer input');
53
-
54
- fireEvent.changeText(answerInputs[0], 'a1');
55
- fireEvent.changeText(answerInputs[1], 'a2');
56
- fireEvent.press(getByText('Submit'));
57
-
58
- expect(mockFn).toHaveBeenCalledWith({
59
- '1': { q: 'q1', a: 'a1' },
60
- '2': { q: 'q2', a: 'a2' },
61
- });
62
- });
@@ -1,126 +0,0 @@
1
- import * as React from 'react';
2
- import { View, Text, TextInput, Switch } from 'react-native';
3
- import { render } from '..';
4
-
5
- /**
6
- * Tests in this file are intended to give us an proactive warning that React Native behavior has
7
- * changed in a way that may impact our code like queries or event handling.
8
- */
9
-
10
- test('React Native API assumption: <View> renders single host element', () => {
11
- const view = render(<View testID="test" />);
12
-
13
- expect(view.toJSON()).toMatchInlineSnapshot(`
14
- <View
15
- testID="test"
16
- />
17
- `);
18
- });
19
-
20
- test('React Native API assumption: <Text> renders single host element', () => {
21
- const view = render(<Text testID="test">Hello</Text>);
22
-
23
- expect(view.toJSON()).toMatchInlineSnapshot(`
24
- <Text
25
- testID="test"
26
- >
27
- Hello
28
- </Text>
29
- `);
30
- });
31
-
32
- test('React Native API assumption: nested <Text> renders single host element', () => {
33
- const view = render(
34
- <Text testID="test">
35
- <Text testID="before">Before</Text>
36
- Hello
37
- <Text testID="after">
38
- <Text testID="deeplyNested">Deeply nested</Text>
39
- </Text>
40
- </Text>
41
- );
42
-
43
- expect(view.toJSON()).toMatchInlineSnapshot(`
44
- <Text
45
- testID="test"
46
- >
47
- <Text
48
- testID="before"
49
- >
50
- Before
51
- </Text>
52
- Hello
53
- <Text
54
- testID="after"
55
- >
56
- <Text
57
- testID="deeplyNested"
58
- >
59
- Deeply nested
60
- </Text>
61
- </Text>
62
- </Text>
63
- `);
64
- });
65
-
66
- test('React Native API assumption: <TextInput> renders single host element', () => {
67
- const view = render(
68
- <TextInput
69
- testID="test"
70
- defaultValue="default"
71
- value="currentValue"
72
- placeholder="Placeholder"
73
- />
74
- );
75
-
76
- expect(view.toJSON()).toMatchInlineSnapshot(`
77
- <TextInput
78
- defaultValue="default"
79
- placeholder="Placeholder"
80
- testID="test"
81
- value="currentValue"
82
- />
83
- `);
84
- });
85
-
86
- test('React Native API assumption: <TextInput> with nested Text renders single host element', () => {
87
- const view = render(
88
- <TextInput testID="test" placeholder="Placeholder">
89
- <Text>Hello</Text>
90
- </TextInput>
91
- );
92
-
93
- expect(view.toJSON()).toMatchInlineSnapshot(`
94
- <TextInput
95
- placeholder="Placeholder"
96
- testID="test"
97
- >
98
- <Text>
99
- Hello
100
- </Text>
101
- </TextInput>
102
- `);
103
- });
104
-
105
- test('React Native API assumption: <Switch> renders single host element', () => {
106
- const view = render(
107
- <Switch testID="test" value={true} onChange={jest.fn()} />
108
- );
109
-
110
- expect(view.toJSON()).toMatchInlineSnapshot(`
111
- <RCTSwitch
112
- accessibilityRole="switch"
113
- onChange={[Function]}
114
- onResponderTerminationRequest={[Function]}
115
- onStartShouldSetResponder={[Function]}
116
- style={
117
- {
118
- "height": 31,
119
- "width": 51,
120
- }
121
- }
122
- testID="test"
123
- value={true}
124
- />
125
- `);
126
- });
@@ -1,207 +0,0 @@
1
- /* eslint-disable no-console */
2
- import * as React from 'react';
3
- import { View, Text, TextInput, Pressable } from 'react-native';
4
- import stripAnsi from 'strip-ansi';
5
- import { render, fireEvent, configure } from '..';
6
-
7
- type ConsoleLogMock = jest.Mock<Array<string>>;
8
-
9
- const PLACEHOLDER_FRESHNESS = 'Add custom freshness';
10
- const PLACEHOLDER_CHEF = 'Who inspected freshness?';
11
- const INPUT_FRESHNESS = 'Custom Freshie';
12
- const INPUT_CHEF = 'I inspected freshie';
13
- const DEFAULT_INPUT_CHEF = 'What did you inspect?';
14
- const DEFAULT_INPUT_CUSTOMER = 'What banana?';
15
-
16
- const ignoreWarnings = ['Using debug("message") is deprecated'];
17
-
18
- const realConsoleWarn = console.warn;
19
-
20
- beforeEach(() => {
21
- jest.spyOn(console, 'log').mockImplementation(() => {});
22
- jest.spyOn(console, 'warn').mockImplementation((message) => {
23
- if (!ignoreWarnings.some((warning) => message.includes(warning))) {
24
- realConsoleWarn(message);
25
- }
26
- });
27
- });
28
-
29
- afterEach(() => {
30
- jest.restoreAllMocks();
31
- });
32
-
33
- class MyButton extends React.Component<any> {
34
- render() {
35
- return (
36
- <Pressable onPress={this.props.onPress}>
37
- <Text>{this.props.children}</Text>
38
- </Pressable>
39
- );
40
- }
41
- }
42
-
43
- class Banana extends React.Component<any, { fresh: boolean }> {
44
- state = {
45
- fresh: false,
46
- };
47
-
48
- componentDidUpdate() {
49
- if (this.props.onUpdate) {
50
- this.props.onUpdate();
51
- }
52
- }
53
-
54
- componentWillUnmount() {
55
- if (this.props.onUnmount) {
56
- this.props.onUnmount();
57
- }
58
- }
59
-
60
- changeFresh = () => {
61
- this.setState((state) => ({
62
- fresh: !state.fresh,
63
- }));
64
- };
65
-
66
- render() {
67
- const test = 0;
68
- return (
69
- <View>
70
- <Text>Is the banana fresh?</Text>
71
- <Text testID="bananaFresh">
72
- {this.state.fresh ? 'fresh' : 'not fresh'}
73
- </Text>
74
- <TextInput
75
- testID="bananaCustomFreshness"
76
- placeholder={PLACEHOLDER_FRESHNESS}
77
- value={INPUT_FRESHNESS}
78
- />
79
- <TextInput
80
- testID="bananaChef"
81
- placeholder={PLACEHOLDER_CHEF}
82
- value={INPUT_CHEF}
83
- defaultValue={DEFAULT_INPUT_CHEF}
84
- />
85
- <TextInput defaultValue={DEFAULT_INPUT_CUSTOMER} />
86
- <TextInput defaultValue={'hello'} value="" />
87
- <MyButton onPress={this.changeFresh} type="primary">
88
- Change freshness!
89
- </MyButton>
90
- <Text testID="duplicateText">First Text</Text>
91
- <Text testID="duplicateText">Second Text</Text>
92
- <Text>{test}</Text>
93
- </View>
94
- );
95
- }
96
- }
97
-
98
- test('debug', () => {
99
- const { debug } = render(<Banana />);
100
-
101
- debug();
102
- debug('my custom message');
103
- debug.shallow();
104
- debug.shallow('my other custom message');
105
- debug({ message: 'another custom message' });
106
-
107
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
108
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot();
109
- expect(stripAnsi(mockCalls[1][0] + mockCalls[1][1])).toMatchSnapshot(
110
- 'with message'
111
- );
112
- expect(stripAnsi(mockCalls[2][0])).toMatchSnapshot('shallow');
113
- expect(stripAnsi(mockCalls[3][0] + mockCalls[3][1])).toMatchSnapshot(
114
- 'shallow with message'
115
- );
116
- expect(stripAnsi(mockCalls[4][0] + mockCalls[4][1])).toMatchSnapshot(
117
- 'another custom message'
118
- );
119
-
120
- const mockWarnCalls = (console.warn as any as ConsoleLogMock).mock.calls;
121
- expect(mockWarnCalls[0]).toEqual([
122
- 'Using debug("message") is deprecated and will be removed in future release, please use debug({ message; "message" }) instead.',
123
- ]);
124
- });
125
-
126
- test('debug changing component', () => {
127
- const { UNSAFE_getByProps, debug } = render(<Banana />);
128
- fireEvent.press(UNSAFE_getByProps({ type: 'primary' }));
129
-
130
- debug();
131
-
132
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
133
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot(
134
- 'bananaFresh button message should now be "fresh"'
135
- );
136
- });
137
-
138
- test('debug with only children prop', () => {
139
- const { debug } = render(<Banana />);
140
- debug({ mapProps: () => ({}) });
141
-
142
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
143
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot();
144
- });
145
-
146
- test('debug with only prop whose value is bananaChef', () => {
147
- const { debug } = render(<Banana />);
148
- debug({
149
- mapProps: (props) => {
150
- const filterProps: Record<string, unknown> = {};
151
- Object.keys(props).forEach((key) => {
152
- if (props[key] === 'bananaChef') {
153
- filterProps[key] = props[key];
154
- }
155
- });
156
- return filterProps;
157
- },
158
- });
159
-
160
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
161
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot();
162
- });
163
-
164
- test('debug with only props from TextInput components', () => {
165
- const { debug } = render(<Banana />);
166
- debug({
167
- mapProps: (props, node) => (node.type === 'TextInput' ? props : {}),
168
- });
169
-
170
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
171
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot();
172
- });
173
-
174
- test('debug should use debugOptions from config when no option is specified', () => {
175
- configure({ defaultDebugOptions: { mapProps: () => ({}) } });
176
-
177
- const { debug } = render(
178
- <View style={{ backgroundColor: 'red' }}>
179
- <Text>hello</Text>
180
- </View>
181
- );
182
- debug();
183
-
184
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
185
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot();
186
- });
187
-
188
- test('filtering out props through mapProps option should not modify component', () => {
189
- const { debug, getByTestId } = render(<View testID="viewTestID" />);
190
- debug({ mapProps: () => ({}) });
191
-
192
- expect(getByTestId('viewTestID')).toBeTruthy();
193
- });
194
-
195
- test('debug should use given options over config debugOptions', () => {
196
- configure({ defaultDebugOptions: { mapProps: () => ({}) } });
197
-
198
- const { debug } = render(
199
- <View style={{ backgroundColor: 'red' }}>
200
- <Text>hello</Text>
201
- </View>
202
- );
203
- debug({ mapProps: (props) => props });
204
-
205
- const mockCalls = (console.log as any as ConsoleLogMock).mock.calls;
206
- expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot();
207
- });
@@ -1,157 +0,0 @@
1
- import * as React from 'react';
2
- import { View, Text, Pressable } from 'react-native';
3
- import { render, fireEvent } from '..';
4
-
5
- // eslint-disable-next-line no-console
6
- const originalConsoleError = console.error;
7
-
8
- const VALIDATION_ERROR =
9
- 'Invariant Violation: Text strings must be rendered within a <Text> component';
10
- const PROFILER_ERROR = 'The above error occurred in the <Profiler> component';
11
-
12
- beforeEach(() => {
13
- // eslint-disable-next-line no-console
14
- console.error = (errorMessage: string) => {
15
- if (!errorMessage.includes(PROFILER_ERROR)) {
16
- originalConsoleError(errorMessage);
17
- }
18
- };
19
- });
20
-
21
- afterEach(() => {
22
- // eslint-disable-next-line no-console
23
- console.error = originalConsoleError;
24
- });
25
-
26
- test('should throw when rendering a string outside a text component', () => {
27
- expect(() =>
28
- render(<View>hello</View>, {
29
- unstable_validateStringsRenderedWithinText: true,
30
- })
31
- ).toThrow(
32
- `${VALIDATION_ERROR}. Detected attempt to render "hello" string within a <View> component.`
33
- );
34
- });
35
-
36
- test('should throw an error when rerendering with text outside of Text component', () => {
37
- const { rerender } = render(<View />, {
38
- unstable_validateStringsRenderedWithinText: true,
39
- });
40
-
41
- expect(() => rerender(<View>hello</View>)).toThrow(
42
- `${VALIDATION_ERROR}. Detected attempt to render "hello" string within a <View> component.`
43
- );
44
- });
45
-
46
- const InvalidTextAfterPress = () => {
47
- const [showText, setShowText] = React.useState(false);
48
-
49
- if (!showText) {
50
- return (
51
- <Pressable onPress={() => setShowText(true)}>
52
- <Text>Show text</Text>
53
- </Pressable>
54
- );
55
- }
56
-
57
- return <View>text rendered outside text component</View>;
58
- };
59
-
60
- test('should throw an error when strings are rendered outside Text', () => {
61
- const { getByText } = render(<InvalidTextAfterPress />, {
62
- unstable_validateStringsRenderedWithinText: true,
63
- });
64
-
65
- expect(() => fireEvent.press(getByText('Show text'))).toThrow(
66
- `${VALIDATION_ERROR}. Detected attempt to render "text rendered outside text component" string within a <View> component.`
67
- );
68
- });
69
-
70
- test('should not throw for texts nested in fragments', () => {
71
- expect(() =>
72
- render(
73
- <Text>
74
- <>hello</>
75
- </Text>,
76
- { unstable_validateStringsRenderedWithinText: true }
77
- )
78
- ).not.toThrow();
79
- });
80
-
81
- test('should not throw if option validateRenderedString is false', () => {
82
- expect(() => render(<View>hello</View>)).not.toThrow();
83
- });
84
-
85
- test(`should throw when one of the children is a text and the parent is not a Text component`, () => {
86
- expect(() =>
87
- render(
88
- <View>
89
- <Text>hello</Text>
90
- hello
91
- </View>,
92
- { unstable_validateStringsRenderedWithinText: true }
93
- )
94
- ).toThrow(
95
- `${VALIDATION_ERROR}. Detected attempt to render "hello" string within a <View> component.`
96
- );
97
- });
98
-
99
- test(`should throw when a string is rendered within a fragment rendered outside a Text`, () => {
100
- expect(() =>
101
- render(
102
- <View>
103
- <>hello</>
104
- </View>,
105
- { unstable_validateStringsRenderedWithinText: true }
106
- )
107
- ).toThrow(
108
- `${VALIDATION_ERROR}. Detected attempt to render "hello" string within a <View> component.`
109
- );
110
- });
111
-
112
- test('should throw if a number is rendered outside a text', () => {
113
- expect(() =>
114
- render(<View>0</View>, { unstable_validateStringsRenderedWithinText: true })
115
- ).toThrow(
116
- `${VALIDATION_ERROR}. Detected attempt to render "0" string within a <View> component.`
117
- );
118
- });
119
-
120
- const Trans = ({ i18nKey }: { i18nKey: string }) => <>{i18nKey}</>;
121
-
122
- test('should throw with components returning string value not rendered in Text', () => {
123
- expect(() =>
124
- render(
125
- <View>
126
- <Trans i18nKey="hello" />
127
- </View>,
128
- { unstable_validateStringsRenderedWithinText: true }
129
- )
130
- ).toThrow(
131
- `${VALIDATION_ERROR}. Detected attempt to render "hello" string within a <View> component.`
132
- );
133
- });
134
-
135
- test('should not throw with components returning string value rendered in Text', () => {
136
- expect(() =>
137
- render(
138
- <Text>
139
- <Trans i18nKey="hello" />
140
- </Text>,
141
- { unstable_validateStringsRenderedWithinText: true }
142
- )
143
- ).not.toThrow();
144
- });
145
-
146
- test('should throw when rendering string in a View in a Text', () => {
147
- expect(() =>
148
- render(
149
- <Text>
150
- <View>hello</View>
151
- </Text>,
152
- { unstable_validateStringsRenderedWithinText: true }
153
- )
154
- ).toThrow(
155
- `${VALIDATION_ERROR}. Detected attempt to render "hello" string within a <View> component.`
156
- );
157
- });