@testing-library/react-native 12.1.3 → 12.2.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 (262) hide show
  1. package/.DS_Store +0 -0
  2. package/.eslintcache +1 -1
  3. package/build/fireEvent.js +3 -6
  4. package/build/fireEvent.js.map +1 -1
  5. package/build/helpers/deprecation.js +1 -1
  6. package/build/helpers/deprecation.js.map +1 -1
  7. package/build/helpers/host-component-names.d.ts +3 -0
  8. package/build/helpers/host-component-names.js +8 -0
  9. package/build/helpers/host-component-names.js.map +1 -1
  10. package/build/pure.d.ts +2 -0
  11. package/build/pure.js +7 -0
  12. package/build/pure.js.map +1 -1
  13. package/build/user-event/event-builder/common.d.ts +48 -6
  14. package/build/user-event/event-builder/common.js +37 -20
  15. package/build/user-event/event-builder/common.js.map +1 -1
  16. package/build/user-event/event-builder/index.d.ts +94 -0
  17. package/build/user-event/event-builder/index.js +3 -1
  18. package/build/user-event/event-builder/index.js.map +1 -1
  19. package/build/user-event/event-builder/text-input.d.ts +91 -0
  20. package/build/user-event/event-builder/text-input.js +117 -0
  21. package/build/user-event/event-builder/text-input.js.map +1 -0
  22. package/build/user-event/index.d.ts +4 -2
  23. package/build/user-event/index.js +7 -1
  24. package/build/user-event/index.js.map +1 -1
  25. package/build/user-event/press/index.d.ts +1 -1
  26. package/build/user-event/press/index.js +6 -0
  27. package/build/user-event/press/index.js.map +1 -1
  28. package/build/user-event/press/press.d.ts +3 -3
  29. package/build/user-event/press/press.js +55 -62
  30. package/build/user-event/press/press.js.map +1 -1
  31. package/build/user-event/setup/setup.d.ts +33 -3
  32. package/build/user-event/setup/setup.js +14 -1
  33. package/build/user-event/setup/setup.js.map +1 -1
  34. package/build/user-event/type/index.d.ts +1 -1
  35. package/build/user-event/type/index.js +6 -0
  36. package/build/user-event/type/index.js.map +1 -1
  37. package/build/user-event/type/parseKeys.d.ts +1 -0
  38. package/build/user-event/type/parseKeys.js +40 -0
  39. package/build/user-event/type/parseKeys.js.map +1 -0
  40. package/build/user-event/type/type.d.ts +5 -1
  41. package/build/user-event/type/type.js +66 -8
  42. package/build/user-event/type/type.js.map +1 -1
  43. package/build/user-event/utils/content-size.d.ts +15 -0
  44. package/build/user-event/utils/content-size.js +26 -0
  45. package/build/user-event/utils/content-size.js.map +1 -0
  46. package/build/user-event/utils/{events.d.ts → dispatch-event.d.ts} +2 -2
  47. package/build/user-event/utils/dispatch-event.js +36 -0
  48. package/build/user-event/utils/dispatch-event.js.map +1 -0
  49. package/build/user-event/utils/index.d.ts +4 -1
  50. package/build/user-event/utils/index.js +37 -4
  51. package/build/user-event/utils/index.js.map +1 -1
  52. package/build/user-event/utils/text-range.d.ts +5 -0
  53. package/build/user-event/utils/text-range.js +13 -0
  54. package/build/user-event/utils/text-range.js.map +1 -0
  55. package/build/user-event/utils/warn-about-real-timers.d.ts +1 -0
  56. package/build/user-event/utils/warn-about-real-timers.js +20 -0
  57. package/build/user-event/utils/warn-about-real-timers.js.map +1 -0
  58. package/coverage/clover.xml +1176 -0
  59. package/coverage/coverage-final.json +70 -0
  60. package/coverage/lcov-report/base.css +224 -0
  61. package/coverage/lcov-report/block-navigation.js +87 -0
  62. package/coverage/lcov-report/favicon.png +0 -0
  63. package/coverage/lcov-report/index.html +266 -0
  64. package/coverage/lcov-report/prettify.css +1 -0
  65. package/coverage/lcov-report/prettify.js +2 -0
  66. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  67. package/coverage/lcov-report/sorter.js +196 -0
  68. package/coverage/lcov-report/src/act.ts.html +343 -0
  69. package/coverage/lcov-report/src/cleanup.ts.html +130 -0
  70. package/coverage/lcov-report/src/config.ts.html +301 -0
  71. package/coverage/lcov-report/src/fireEvent.ts.html +559 -0
  72. package/coverage/lcov-report/src/flushMicroTasks.ts.html +124 -0
  73. package/coverage/lcov-report/src/helpers/accessiblity.ts.html +412 -0
  74. package/coverage/lcov-report/src/helpers/component-tree.ts.html +352 -0
  75. package/coverage/lcov-report/src/helpers/debugDeep.ts.html +166 -0
  76. package/coverage/lcov-report/src/helpers/debugShallow.ts.html +151 -0
  77. package/coverage/lcov-report/src/helpers/deprecation.ts.html +244 -0
  78. package/coverage/lcov-report/src/helpers/errors.ts.html +283 -0
  79. package/coverage/lcov-report/src/helpers/filterNodeByType.ts.html +106 -0
  80. package/coverage/lcov-report/src/helpers/findAll.ts.html +289 -0
  81. package/coverage/lcov-report/src/helpers/format-default.ts.html +301 -0
  82. package/coverage/lcov-report/src/helpers/format.ts.html +226 -0
  83. package/coverage/lcov-report/src/helpers/getTextContent.ts.html +145 -0
  84. package/coverage/lcov-report/src/helpers/host-component-names.tsx.html +286 -0
  85. package/coverage/lcov-report/src/helpers/index.html +326 -0
  86. package/coverage/lcov-report/src/helpers/matchers/accessibilityState.ts.html +229 -0
  87. package/coverage/lcov-report/src/helpers/matchers/accessibilityValue.ts.html +157 -0
  88. package/coverage/lcov-report/src/helpers/matchers/index.html +206 -0
  89. package/coverage/lcov-report/src/helpers/matchers/matchArrayProp.ts.html +148 -0
  90. package/coverage/lcov-report/src/helpers/matchers/matchLabelText.ts.html +238 -0
  91. package/coverage/lcov-report/src/helpers/matchers/matchObjectProp.ts.html +160 -0
  92. package/coverage/lcov-report/src/helpers/matchers/matchStringProp.ts.html +154 -0
  93. package/coverage/lcov-report/src/helpers/matchers/matchTextContent.ts.html +145 -0
  94. package/coverage/lcov-report/src/helpers/query-name.ts.html +97 -0
  95. package/coverage/lcov-report/src/helpers/stringValidation.ts.html +193 -0
  96. package/coverage/lcov-report/src/helpers/timers.ts.html +382 -0
  97. package/coverage/lcov-report/src/index.html +356 -0
  98. package/coverage/lcov-report/src/index.ts.html +184 -0
  99. package/coverage/lcov-report/src/matches.ts.html +232 -0
  100. package/coverage/lcov-report/src/pure.ts.html +157 -0
  101. package/coverage/lcov-report/src/queries/a11yState.ts.html +478 -0
  102. package/coverage/lcov-report/src/queries/a11yValue.ts.html +478 -0
  103. package/coverage/lcov-report/src/queries/displayValue.ts.html +319 -0
  104. package/coverage/lcov-report/src/queries/hintText.ts.html +421 -0
  105. package/coverage/lcov-report/src/queries/index.html +281 -0
  106. package/coverage/lcov-report/src/queries/labelText.ts.html +262 -0
  107. package/coverage/lcov-report/src/queries/makeQueries.ts.html +850 -0
  108. package/coverage/lcov-report/src/queries/placeholderText.ts.html +322 -0
  109. package/coverage/lcov-report/src/queries/role.ts.html +481 -0
  110. package/coverage/lcov-report/src/queries/testId.ts.html +298 -0
  111. package/coverage/lcov-report/src/queries/text.ts.html +283 -0
  112. package/coverage/lcov-report/src/queries/unsafeProps.ts.html +313 -0
  113. package/coverage/lcov-report/src/queries/unsafeType.ts.html +304 -0
  114. package/coverage/lcov-report/src/react-versions.ts.html +118 -0
  115. package/coverage/lcov-report/src/render-act.ts.html +142 -0
  116. package/coverage/lcov-report/src/render.tsx.html +592 -0
  117. package/coverage/lcov-report/src/renderHook.tsx.html +262 -0
  118. package/coverage/lcov-report/src/screen.ts.html +454 -0
  119. package/coverage/lcov-report/src/shallow.ts.html +139 -0
  120. package/coverage/lcov-report/src/test-utils/events.ts.html +145 -0
  121. package/coverage/lcov-report/src/test-utils/index.html +131 -0
  122. package/coverage/lcov-report/src/test-utils/index.ts.html +88 -0
  123. package/coverage/lcov-report/src/user-event/event-builder/common.ts.html +229 -0
  124. package/coverage/lcov-report/src/user-event/event-builder/index.html +146 -0
  125. package/coverage/lcov-report/src/user-event/event-builder/index.ts.html +106 -0
  126. package/coverage/lcov-report/src/user-event/event-builder/test-input.ts.html +343 -0
  127. package/coverage/lcov-report/src/user-event/event-builder/text-input.ts.html +343 -0
  128. package/coverage/lcov-report/src/user-event/index.html +116 -0
  129. package/coverage/lcov-report/src/user-event/index.ts.html +121 -0
  130. package/coverage/lcov-report/src/user-event/press/index.html +131 -0
  131. package/coverage/lcov-report/src/user-event/press/index.ts.html +88 -0
  132. package/coverage/lcov-report/src/user-event/press/press.ts.html +133 -0
  133. package/coverage/lcov-report/src/user-event/setup/index.html +131 -0
  134. package/coverage/lcov-report/src/user-event/setup/index.ts.html +91 -0
  135. package/coverage/lcov-report/src/user-event/setup/setup.ts.html +358 -0
  136. package/coverage/lcov-report/src/user-event/type/index.html +146 -0
  137. package/coverage/lcov-report/src/user-event/type/index.ts.html +88 -0
  138. package/coverage/lcov-report/src/user-event/type/parseKeys.ts.html +208 -0
  139. package/coverage/lcov-report/src/user-event/type/type.ts.html +484 -0
  140. package/coverage/lcov-report/src/user-event/utils/content-size.ts.html +160 -0
  141. package/coverage/lcov-report/src/user-event/utils/dispatch-event.ts.html +367 -0
  142. package/coverage/lcov-report/src/user-event/utils/events.ts.html +247 -0
  143. package/coverage/lcov-report/src/user-event/utils/index.html +176 -0
  144. package/coverage/lcov-report/src/user-event/utils/index.ts.html +97 -0
  145. package/coverage/lcov-report/src/user-event/utils/text-range.ts.html +118 -0
  146. package/coverage/lcov-report/src/user-event/utils/wait.ts.html +130 -0
  147. package/coverage/lcov-report/src/waitFor.ts.html +772 -0
  148. package/coverage/lcov-report/src/waitForElementToBeRemoved.ts.html +211 -0
  149. package/coverage/lcov-report/src/within.ts.html +175 -0
  150. package/coverage/lcov.info +2614 -0
  151. package/examples/.DS_Store +0 -0
  152. package/examples/basic/.expo/README.md +17 -0
  153. package/examples/basic/.expo/devices.json +3 -0
  154. package/examples/basic/.expo/packager-info.json +4 -0
  155. package/examples/basic/.expo/settings.json +8 -0
  156. package/examples/basic/package.json +7 -7
  157. package/examples/basic/yarn-error.log +8083 -0
  158. package/examples/basic/yarn.lock +8878 -0
  159. package/examples/react-navigation/README.md +2 -0
  160. package/examples/react-navigation/package.json +5 -5
  161. package/examples/react-navigation/yarn.lock +5610 -0
  162. package/examples/redux/README.md +5 -0
  163. package/examples/redux/package.json +7 -7
  164. package/examples/redux/yarn-error.log +8083 -0
  165. package/examples/redux/yarn.lock +8423 -0
  166. package/experiments-app/.expo/settings.json +2 -1
  167. package/experiments-app/src/screens/TextInputEvents.tsx +10 -0
  168. package/package.json +1 -1
  169. package/src/.DS_Store +0 -0
  170. package/src/__tests__/.DS_Store +0 -0
  171. package/src/__tests__/act.test.tsx +4 -0
  172. package/src/fireEvent.ts +2 -6
  173. package/src/helpers/deprecation.ts +1 -1
  174. package/src/helpers/host-component-names.tsx +8 -0
  175. package/src/pure.ts +2 -0
  176. package/src/user-event/event-builder/common.ts +35 -19
  177. package/src/user-event/event-builder/index.ts +2 -0
  178. package/src/user-event/event-builder/text-input.ts +86 -0
  179. package/src/user-event/index.ts +6 -3
  180. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +4 -2
  181. package/src/user-event/press/__tests__/press.real-timers.test.tsx +4 -2
  182. package/src/user-event/press/__tests__/press.test.tsx +40 -5
  183. package/src/user-event/press/index.ts +1 -1
  184. package/src/user-event/press/press.ts +93 -58
  185. package/src/user-event/setup/setup.ts +39 -5
  186. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +339 -0
  187. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +644 -2
  188. package/src/user-event/type/__tests__/parseKeys.test.ts +23 -0
  189. package/src/user-event/type/__tests__/type-managed.test.tsx +121 -0
  190. package/src/user-event/type/__tests__/type.test.tsx +300 -27
  191. package/src/user-event/type/index.ts +1 -1
  192. package/src/user-event/type/parseKeys.ts +41 -0
  193. package/src/user-event/type/type.ts +125 -10
  194. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +41 -0
  195. package/src/user-event/utils/content-size.ts +25 -0
  196. package/src/user-event/utils/dispatch-event.ts +38 -0
  197. package/src/user-event/utils/index.ts +4 -1
  198. package/src/user-event/utils/text-range.ts +11 -0
  199. package/src/user-event/{press/utils/warnAboutRealTimers.ts → utils/warn-about-real-timers.ts} +8 -1
  200. package/website/.DS_Store +0 -0
  201. package/website/.docusaurus/DONT-EDIT-THIS-FOLDER +5 -0
  202. package/website/.docusaurus/client-modules.js +6 -0
  203. package/website/.docusaurus/codeTranslations.json +1 -0
  204. package/website/.docusaurus/docusaurus-plugin-content-blog/default/blog-post-list-prop-default.json +4 -0
  205. package/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json +4 -0
  206. package/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json +4 -0
  207. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-api-md-c82.json +27 -0
  208. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-eslint-p-llugin-testing-library-md-d24.json +27 -0
  209. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-faq-md-ad8.json +27 -0
  210. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-getting-started-md-8a6.json +23 -0
  211. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-how-should-i-query-md-f2d.json +27 -0
  212. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-11-md-add.json +27 -0
  213. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-12-md-14f.json +27 -0
  214. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-2-md-698.json +27 -0
  215. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-7-md-6bb.json +27 -0
  216. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-9-md-f69.json +27 -0
  217. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-queries-md-7ad.json +27 -0
  218. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-react-navigation-md-1bd.json +27 -0
  219. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-redux-integration-md-77b.json +23 -0
  220. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-testing-environment-md-1c6.json +27 -0
  221. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-troubleshooting-md-01d.json +27 -0
  222. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-understanding-act-md-aa9.json +27 -0
  223. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-user-event-md-501.json +27 -0
  224. package/website/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json +268 -0
  225. package/website/.docusaurus/docusaurus-plugin-content-docs/react-native-testing-library-docs-route-96e.json +115 -0
  226. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-api-md-c82.json +19 -0
  227. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-eslint-p-llugin-testing-library-md-d24.json +19 -0
  228. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-faq-md-ad8.json +19 -0
  229. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-getting-started-md-8a6.json +15 -0
  230. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-how-should-i-query-md-f2d.json +19 -0
  231. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-11-md-add.json +19 -0
  232. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-2-md-698.json +19 -0
  233. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-7-md-6bb.json +19 -0
  234. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-9-md-f69.json +19 -0
  235. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-queries-md-7ad.json +19 -0
  236. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-react-navigation-md-1bd.json +19 -0
  237. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-redux-integration-md-77b.json +15 -0
  238. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-troubleshooting-md-01d.json +19 -0
  239. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-understanding-act-md-aa9.json +19 -0
  240. package/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json +4 -0
  241. package/website/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json +623 -0
  242. package/website/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json +4 -0
  243. package/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json +4 -0
  244. package/website/.docusaurus/docusaurus.config.js +267 -0
  245. package/website/.docusaurus/docusaurus.config.mjs +365 -0
  246. package/website/.docusaurus/globalData.json +113 -0
  247. package/website/.docusaurus/i18n.json +17 -0
  248. package/website/.docusaurus/registry.js +35 -0
  249. package/website/.docusaurus/routes.js +162 -0
  250. package/website/.docusaurus/routesChunkNames.json +133 -0
  251. package/website/.docusaurus/site-metadata.json +36 -0
  252. package/website/docs/API.md +19 -25
  253. package/website/docs/UserEvent.md +86 -9
  254. package/website/sidebars.js +1 -1
  255. package/yarn-error.log +10613 -0
  256. package/build/user-event/press/utils/warnAboutRealTimers.d.ts +0 -1
  257. package/build/user-event/press/utils/warnAboutRealTimers.js +0 -14
  258. package/build/user-event/press/utils/warnAboutRealTimers.js.map +0 -1
  259. package/build/user-event/utils/events.js +0 -44
  260. package/build/user-event/utils/events.js.map +0 -1
  261. package/experiments-app/.expo/packager-info.json +0 -9
  262. package/src/user-event/utils/events.ts +0 -54
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import { Text } from 'react-native';
3
+ import render from '../../../render';
4
+ import { dispatchEvent } from '../dispatch-event';
5
+ import { EventBuilder } from '../../event-builder';
6
+
7
+ const TOUCH_EVENT = EventBuilder.Common.touch();
8
+
9
+ describe('dispatchEvent', () => {
10
+ it('does dispatch event', () => {
11
+ const onPress = jest.fn();
12
+ const screen = render(<Text testID="text" onPress={onPress} />);
13
+
14
+ dispatchEvent(screen.getByTestId('text'), 'press', TOUCH_EVENT);
15
+ expect(onPress).toHaveBeenCalledTimes(1);
16
+ });
17
+
18
+ it('does not dispatch event to parent host component', () => {
19
+ const onPressParent = jest.fn();
20
+ const screen = render(
21
+ <Text onPress={onPressParent}>
22
+ <Text testID="text" />
23
+ </Text>
24
+ );
25
+
26
+ dispatchEvent(screen.getByTestId('text'), 'press', TOUCH_EVENT);
27
+ expect(onPressParent).not.toHaveBeenCalled();
28
+ });
29
+
30
+ it('does NOT throw if no handler found', () => {
31
+ const screen = render(
32
+ <Text>
33
+ <Text testID="text" />
34
+ </Text>
35
+ );
36
+
37
+ expect(() =>
38
+ dispatchEvent(screen.getByTestId('text'), 'press', TOUCH_EVENT)
39
+ ).not.toThrow();
40
+ });
41
+ });
@@ -0,0 +1,25 @@
1
+ export interface ContentSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+
6
+ /**
7
+ * Simple function for getting mock the size of given text.
8
+ *
9
+ * It works by calculating height based on number of lines and width based on
10
+ * the longest line length. It does not take into account font size, font
11
+ * family, as well as different letter sizes.
12
+ *
13
+ * @param text text to be measure
14
+ * @returns width and height of the text
15
+ */
16
+
17
+ export function getTextContentSize(text: string): ContentSize {
18
+ const lines = text.split('\n');
19
+ const maxLineLength = Math.max(...lines.map((line) => line.length));
20
+
21
+ return {
22
+ width: maxLineLength * 5,
23
+ height: lines.length * 16,
24
+ };
25
+ }
@@ -0,0 +1,38 @@
1
+ import { ReactTestInstance } from 'react-test-renderer';
2
+ import act from '../../act';
3
+
4
+ /**
5
+ * Basic dispatch event function used by User Event module.
6
+ *
7
+ * @param element element trigger event on
8
+ * @param eventName name of the event
9
+ * @param event event payload
10
+ */
11
+ export function dispatchEvent(
12
+ element: ReactTestInstance,
13
+ eventName: string,
14
+ event: unknown
15
+ ) {
16
+ const handler = getEventHandler(element, eventName);
17
+ if (!handler) {
18
+ return;
19
+ }
20
+
21
+ act(() => {
22
+ handler(event);
23
+ });
24
+ }
25
+
26
+ function getEventHandler(element: ReactTestInstance, eventName: string) {
27
+ const handleName = getEventHandlerName(eventName);
28
+ const handle = element.props[handleName] as unknown;
29
+ if (typeof handle !== 'function') {
30
+ return undefined;
31
+ }
32
+
33
+ return handle;
34
+ }
35
+
36
+ function getEventHandlerName(eventName: string) {
37
+ return `on${eventName.charAt(0).toUpperCase()}${eventName.slice(1)}`;
38
+ }
@@ -1,2 +1,5 @@
1
- export * from './events';
1
+ export * from './content-size';
2
+ export * from './dispatch-event';
3
+ export * from './text-range';
2
4
  export * from './wait';
5
+ export * from './warn-about-real-timers';
@@ -0,0 +1,11 @@
1
+ export interface TextRange {
2
+ start: number;
3
+ end: number;
4
+ }
5
+
6
+ export function getTextRange(text: string): TextRange {
7
+ return {
8
+ start: text.length,
9
+ end: text.length,
10
+ };
11
+ }
@@ -1,4 +1,11 @@
1
- export const warnAboutRealTimers = () => {
1
+ import { jestFakeTimersAreEnabled } from '../../helpers/timers';
2
+
3
+ export const warnAboutRealTimersIfNeeded = () => {
4
+ const areFakeTimersEnabled = jestFakeTimersAreEnabled();
5
+ if (areFakeTimersEnabled) {
6
+ return;
7
+ }
8
+
2
9
  // eslint-disable-next-line no-console
3
10
  console.warn(`It is recommended to use userEvent with fake timers
4
11
  Some events involve duration so your tests may take a long time to run.
Binary file
@@ -0,0 +1,5 @@
1
+ This folder stores temp files that Docusaurus' client bundler accesses.
2
+
3
+ DO NOT hand-modify files in this folder because they will be overwritten in the
4
+ next build. You can clear all build artifacts (including this folder) with the
5
+ `docusaurus clear` command.
@@ -0,0 +1,6 @@
1
+ export default [
2
+ require('/Users/maciej/Development/OpenSource/RNTL/website/node_modules/infima/dist/css/default/default.css'),
3
+ require('/Users/maciej/Development/OpenSource/RNTL/website/node_modules/@docusaurus/theme-classic/lib/prism-include-languages'),
4
+ require('/Users/maciej/Development/OpenSource/RNTL/website/node_modules/@docusaurus/theme-classic/lib/nprogress'),
5
+ require('/Users/maciej/Development/OpenSource/RNTL/website/src/css/custom.css'),
6
+ ];
@@ -0,0 +1,4 @@
1
+ {
2
+ "title": "Recent posts",
3
+ "items": []
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "docusaurus-plugin-content-blog",
3
+ "id": "default"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "docusaurus-plugin-content-docs",
3
+ "id": "default"
4
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "api",
3
+ "id": "api",
4
+ "title": "API",
5
+ "description": "Table of contents:",
6
+ "source": "@site/docs/API.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/api",
9
+ "permalink": "/react-native-testing-library/docs/api",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/API.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "api",
16
+ "title": "API"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "FAQ",
21
+ "permalink": "/react-native-testing-library/docs/faq"
22
+ },
23
+ "next": {
24
+ "title": "Queries",
25
+ "permalink": "/react-native-testing-library/docs/api-queries"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "eslint-plugin-testing-library",
3
+ "id": "eslint-plugin-testing-library",
4
+ "title": "ESLint Plugin Testing Library Compatibility",
5
+ "description": "Most of the rules of the eslint-plugin-testing-library are compatible with this library except the following:",
6
+ "source": "@site/docs/EslintPLluginTestingLibrary.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/eslint-plugin-testing-library",
9
+ "permalink": "/react-native-testing-library/docs/eslint-plugin-testing-library",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/EslintPLluginTestingLibrary.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "eslint-plugin-testing-library",
16
+ "title": "ESLint Plugin Testing Library Compatibility"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "How Should I Query?",
21
+ "permalink": "/react-native-testing-library/docs/how-should-i-query"
22
+ },
23
+ "next": {
24
+ "title": "Testing Environment",
25
+ "permalink": "/react-native-testing-library/docs/testing-env"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "faq",
3
+ "id": "faq",
4
+ "title": "FAQ",
5
+ "description": "Can I test native features of React Native apps?",
6
+ "source": "@site/docs/FAQ.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/faq",
9
+ "permalink": "/react-native-testing-library/docs/faq",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/FAQ.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "faq",
16
+ "title": "FAQ"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Getting Started",
21
+ "permalink": "/react-native-testing-library/docs/getting-started"
22
+ },
23
+ "next": {
24
+ "title": "API",
25
+ "permalink": "/react-native-testing-library/docs/api"
26
+ }
27
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "unversionedId": "getting-started",
3
+ "id": "getting-started",
4
+ "title": "Getting Started",
5
+ "description": "The problem",
6
+ "source": "@site/docs/GettingStarted.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/getting-started",
9
+ "permalink": "/react-native-testing-library/docs/getting-started",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/GettingStarted.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "getting-started",
16
+ "title": "Getting Started"
17
+ },
18
+ "sidebar": "docs",
19
+ "next": {
20
+ "title": "FAQ",
21
+ "permalink": "/react-native-testing-library/docs/faq"
22
+ }
23
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "how-should-i-query",
3
+ "id": "how-should-i-query",
4
+ "title": "How Should I Query?",
5
+ "description": "Priority",
6
+ "source": "@site/docs/HowShouldIQuery.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/how-should-i-query",
9
+ "permalink": "/react-native-testing-library/docs/how-should-i-query",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/HowShouldIQuery.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "how-should-i-query",
16
+ "title": "How Should I Query?"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Troubleshooting",
21
+ "permalink": "/react-native-testing-library/docs/troubleshooting"
22
+ },
23
+ "next": {
24
+ "title": "ESLint Plugin Testing Library Compatibility",
25
+ "permalink": "/react-native-testing-library/docs/eslint-plugin-testing-library"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "migration-v11",
3
+ "id": "migration-v11",
4
+ "title": "Migration to 11.0",
5
+ "description": "Migration to React Native Testing Library version 11 from version 9.x or 10.x should be a relatively easy task due small amount of breaking changes.",
6
+ "source": "@site/docs/MigrationV11.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/migration-v11",
9
+ "permalink": "/react-native-testing-library/docs/migration-v11",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/MigrationV11.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "migration-v11",
16
+ "title": "Migration to 11.0"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Migration to 12.0",
21
+ "permalink": "/react-native-testing-library/docs/migration-v12"
22
+ },
23
+ "next": {
24
+ "title": "Migration to 9.0",
25
+ "permalink": "/react-native-testing-library/docs/migration-v9"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "migration-v12",
3
+ "id": "migration-v12",
4
+ "title": "Migration to 12.0",
5
+ "description": "React Native Testing Library 12 introduces a handful of breaking changes compared to 11.x versions. We believe they were necessary to improve the experience using the library and help the users fall into the pit of success when writing meaningful tests. You will find migration instructions for each and every change described below.",
6
+ "source": "@site/docs/MigrationV12.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/migration-v12",
9
+ "permalink": "/react-native-testing-library/docs/migration-v12",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/MigrationV12.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "migration-v12",
16
+ "title": "Migration to 12.0"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Understanding Act function",
21
+ "permalink": "/react-native-testing-library/docs/understanding-act"
22
+ },
23
+ "next": {
24
+ "title": "Migration to 11.0",
25
+ "permalink": "/react-native-testing-library/docs/migration-v11"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "migration-v2",
3
+ "id": "migration-v2",
4
+ "title": "Migration to 2.0",
5
+ "description": "This guide describes steps necessary to migrate from React Native Testing Library v1.x to v2.0.",
6
+ "source": "@site/docs/MigrationV2.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/migration-v2",
9
+ "permalink": "/react-native-testing-library/docs/migration-v2",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/MigrationV2.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "migration-v2",
16
+ "title": "Migration to 2.0"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Migration to 7.0",
21
+ "permalink": "/react-native-testing-library/docs/migration-v7"
22
+ },
23
+ "next": {
24
+ "title": "React Navigation",
25
+ "permalink": "/react-native-testing-library/docs/react-navigation"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "migration-v7",
3
+ "id": "migration-v7",
4
+ "title": "Migration to 7.0",
5
+ "description": "We renamed the react-native-testing-library npm package to @testing-library/react-native, officially joining the \"Testing Library\" family 🎉.",
6
+ "source": "@site/docs/MigrationV7.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/migration-v7",
9
+ "permalink": "/react-native-testing-library/docs/migration-v7",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/MigrationV7.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "migration-v7",
16
+ "title": "Migration to 7.0"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Migration to 9.0",
21
+ "permalink": "/react-native-testing-library/docs/migration-v9"
22
+ },
23
+ "next": {
24
+ "title": "Migration to 2.0",
25
+ "permalink": "/react-native-testing-library/docs/migration-v2"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "migration-v9",
3
+ "id": "migration-v9",
4
+ "title": "Migration to 9.0",
5
+ "description": "Version 7.0 brought React Native Testing Library into the @testing-library family. Since it has been implemented independently from its web counterpart – the React Testing Library – there are some differences in the API and behavior. Version 9.0 solves several of these problems.",
6
+ "source": "@site/docs/MigrationV9.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/migration-v9",
9
+ "permalink": "/react-native-testing-library/docs/migration-v9",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/MigrationV9.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "migration-v9",
16
+ "title": "Migration to 9.0"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Migration to 11.0",
21
+ "permalink": "/react-native-testing-library/docs/migration-v11"
22
+ },
23
+ "next": {
24
+ "title": "Migration to 7.0",
25
+ "permalink": "/react-native-testing-library/docs/migration-v7"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "api-queries",
3
+ "id": "api-queries",
4
+ "title": "Queries",
5
+ "description": "Table of contents:",
6
+ "source": "@site/docs/Queries.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/api-queries",
9
+ "permalink": "/react-native-testing-library/docs/api-queries",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/Queries.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "api-queries",
16
+ "title": "Queries"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "API",
21
+ "permalink": "/react-native-testing-library/docs/api"
22
+ },
23
+ "next": {
24
+ "title": "User Event",
25
+ "permalink": "/react-native-testing-library/docs/user-event"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "react-navigation",
3
+ "id": "react-navigation",
4
+ "title": "React Navigation",
5
+ "description": "This section deals with integrating @testing-library/react-native with react-navigation, using Jest.",
6
+ "source": "@site/docs/ReactNavigation.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/react-navigation",
9
+ "permalink": "/react-native-testing-library/docs/react-navigation",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/ReactNavigation.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "react-navigation",
16
+ "title": "React Navigation"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Migration to 2.0",
21
+ "permalink": "/react-native-testing-library/docs/migration-v2"
22
+ },
23
+ "next": {
24
+ "title": "Redux Integration",
25
+ "permalink": "/react-native-testing-library/docs/redux-integration"
26
+ }
27
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "unversionedId": "redux-integration",
3
+ "id": "redux-integration",
4
+ "title": "Redux Integration",
5
+ "description": "This section deals with testing RN applications developed with Redux. We will be developing a simple TODO application capable of adding and removing an item. Once included, the timestamp is included.",
6
+ "source": "@site/docs/ReduxIntegration.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/redux-integration",
9
+ "permalink": "/react-native-testing-library/docs/redux-integration",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/ReduxIntegration.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "redux-integration",
16
+ "title": "Redux Integration"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "React Navigation",
21
+ "permalink": "/react-native-testing-library/docs/react-navigation"
22
+ }
23
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "testing-env",
3
+ "id": "testing-env",
4
+ "title": "Testing Environment",
5
+ "description": "This document is intended for more advanced audience. You should be able to write integration or component tests without reading this.",
6
+ "source": "@site/docs/TestingEnvironment.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/testing-env",
9
+ "permalink": "/react-native-testing-library/docs/testing-env",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/TestingEnvironment.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "testing-env",
16
+ "title": "Testing Environment"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "ESLint Plugin Testing Library Compatibility",
21
+ "permalink": "/react-native-testing-library/docs/eslint-plugin-testing-library"
22
+ },
23
+ "next": {
24
+ "title": "Understanding Act function",
25
+ "permalink": "/react-native-testing-library/docs/understanding-act"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "troubleshooting",
3
+ "id": "troubleshooting",
4
+ "title": "Troubleshooting",
5
+ "description": "This guide describes common issues found by users when integrating React Native Test Library to their projects.",
6
+ "source": "@site/docs/Troubleshooting.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/troubleshooting",
9
+ "permalink": "/react-native-testing-library/docs/troubleshooting",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/Troubleshooting.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "troubleshooting",
16
+ "title": "Troubleshooting"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "User Event",
21
+ "permalink": "/react-native-testing-library/docs/user-event"
22
+ },
23
+ "next": {
24
+ "title": "How Should I Query?",
25
+ "permalink": "/react-native-testing-library/docs/how-should-i-query"
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "unversionedId": "understanding-act",
3
+ "id": "understanding-act",
4
+ "title": "Understanding Act function",
5
+ "description": "When writing RNTL tests one of the things that confuses developers the most are cryptic 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.",
6
+ "source": "@site/docs/UnderstandingAct.md",
7
+ "sourceDirName": ".",
8
+ "slug": "/understanding-act",
9
+ "permalink": "/react-native-testing-library/docs/understanding-act",
10
+ "draft": false,
11
+ "editUrl": "https://github.com/callstack/react-native-testing-library/blob/main/website/docs/UnderstandingAct.md",
12
+ "tags": [],
13
+ "version": "current",
14
+ "frontMatter": {
15
+ "id": "understanding-act",
16
+ "title": "Understanding Act function"
17
+ },
18
+ "sidebar": "docs",
19
+ "previous": {
20
+ "title": "Testing Environment",
21
+ "permalink": "/react-native-testing-library/docs/testing-env"
22
+ },
23
+ "next": {
24
+ "title": "Migration to 12.0",
25
+ "permalink": "/react-native-testing-library/docs/migration-v12"
26
+ }
27
+ }