@testing-library/react-native 12.2.1 → 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 (302) hide show
  1. package/package.json +2 -3
  2. package/.DS_Store +0 -0
  3. package/.codecov.yml +0 -9
  4. package/.eslintcache +0 -1
  5. package/.eslintignore +0 -3
  6. package/.eslintrc +0 -19
  7. package/.flowconfig +0 -63
  8. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  9. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  10. package/.github/ISSUE_TEMPLATE/question.md +0 -9
  11. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  12. package/.github/actions/setup-deps/action.yml +0 -22
  13. package/.github/actions/setup-website-deps/action.yml +0 -22
  14. package/.github/dependabot.yml +0 -10
  15. package/.github/workflows/deploy-website.yml +0 -36
  16. package/.github/workflows/example-apps.yml +0 -25
  17. package/.github/workflows/main.yml +0 -103
  18. package/.gitignore +0 -11
  19. package/.prettierrc.js +0 -5
  20. package/CODE_OF_CONDUCT.md +0 -73
  21. package/CONTRIBUTING.md +0 -64
  22. package/babel.config.js +0 -22
  23. package/examples/basic/.expo/README.md +0 -15
  24. package/examples/basic/.expo/packager-info.json +0 -4
  25. package/examples/basic/.expo/settings.json +0 -10
  26. package/examples/basic/.expo-shared/assets.json +0 -4
  27. package/examples/basic/.gitignore +0 -14
  28. package/examples/basic/App.tsx +0 -20
  29. package/examples/basic/README.md +0 -11
  30. package/examples/basic/__tests__/App.test.tsx +0 -137
  31. package/examples/basic/app.json +0 -31
  32. package/examples/basic/assets/adaptive-icon.png +0 -0
  33. package/examples/basic/assets/favicon.png +0 -0
  34. package/examples/basic/assets/icon.png +0 -0
  35. package/examples/basic/assets/splash.png +0 -0
  36. package/examples/basic/babel.config.js +0 -6
  37. package/examples/basic/components/Home.tsx +0 -28
  38. package/examples/basic/components/LoginForm.tsx +0 -138
  39. package/examples/basic/jest-setup.ts +0 -7
  40. package/examples/basic/jest.config.js +0 -5
  41. package/examples/basic/package.json +0 -30
  42. package/examples/basic/tsconfig.json +0 -7
  43. package/examples/basic/yarn.lock +0 -7499
  44. package/examples/react-navigation/README.md +0 -16
  45. package/examples/react-navigation/babel.config.js +0 -4
  46. package/examples/react-navigation/jest-setup.js +0 -11
  47. package/examples/react-navigation/jest.config.js +0 -10
  48. package/examples/react-navigation/package.json +0 -31
  49. package/examples/react-navigation/src/App.js +0 -21
  50. package/examples/react-navigation/src/DrawerNavigator.js +0 -15
  51. package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
  52. package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
  53. package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
  54. package/examples/react-navigation/src/StackNavigator.js +0 -15
  55. package/examples/react-navigation/src/StackNavigator.test.js +0 -34
  56. package/examples/react-navigation/src/TabNavigator.js +0 -15
  57. package/examples/react-navigation/src/TabNavigator.test.js +0 -21
  58. package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
  59. package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
  60. package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
  61. package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
  62. package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
  63. package/examples/react-navigation/src/test-utils.js +0 -12
  64. package/examples/react-navigation/yarn.lock +0 -5018
  65. package/examples/redux/App.js +0 -27
  66. package/examples/redux/README.md +0 -5
  67. package/examples/redux/actions/todoActions.js +0 -25
  68. package/examples/redux/babel.config.js +0 -6
  69. package/examples/redux/components/AddTodo.js +0 -73
  70. package/examples/redux/components/AddTodo.test.js +0 -27
  71. package/examples/redux/components/TodoElem.js +0 -25
  72. package/examples/redux/components/TodoList.js +0 -29
  73. package/examples/redux/components/TodoList.test.js +0 -34
  74. package/examples/redux/index.js +0 -8
  75. package/examples/redux/jest-setup.js +0 -2
  76. package/examples/redux/jest.config.js +0 -4
  77. package/examples/redux/package.json +0 -23
  78. package/examples/redux/reducers/index.js +0 -6
  79. package/examples/redux/reducers/todoReducer.js +0 -27
  80. package/examples/redux/store.js +0 -10
  81. package/examples/redux/test-utils.js +0 -11
  82. package/examples/redux/yarn.lock +0 -4819
  83. package/experiments-app/.expo/README.md +0 -15
  84. package/experiments-app/.expo/devices.json +0 -3
  85. package/experiments-app/.expo/packager-info.json +0 -9
  86. package/experiments-app/.expo/settings.json +0 -9
  87. package/experiments-app/.gitignore +0 -17
  88. package/experiments-app/.prettierrc.js +0 -5
  89. package/experiments-app/app.json +0 -30
  90. package/experiments-app/assets/adaptive-icon.png +0 -0
  91. package/experiments-app/assets/favicon.png +0 -0
  92. package/experiments-app/assets/icon.png +0 -0
  93. package/experiments-app/assets/splash.png +0 -0
  94. package/experiments-app/babel.config.js +0 -6
  95. package/experiments-app/index.js +0 -4
  96. package/experiments-app/package.json +0 -29
  97. package/experiments-app/src/App.tsx +0 -31
  98. package/experiments-app/src/MainScreen.tsx +0 -52
  99. package/experiments-app/src/experiments.ts +0 -35
  100. package/experiments-app/src/screens/FlatListEvents.tsx +0 -57
  101. package/experiments-app/src/screens/ScrollViewEvents.tsx +0 -65
  102. package/experiments-app/src/screens/SectionListEvents.tsx +0 -91
  103. package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -42
  104. package/experiments-app/src/screens/TextInputEvents.tsx +0 -48
  105. package/experiments-app/src/utils/helpers.ts +0 -18
  106. package/experiments-app/tsconfig.json +0 -6
  107. package/experiments-app/yarn.lock +0 -6709
  108. package/experiments-rtl/.babelrc +0 -8
  109. package/experiments-rtl/.eslintrc.json +0 -3
  110. package/experiments-rtl/.gitignore +0 -35
  111. package/experiments-rtl/README.md +0 -34
  112. package/experiments-rtl/jest-setup.js +0 -1
  113. package/experiments-rtl/jest.config.js +0 -4
  114. package/experiments-rtl/next.config.js +0 -4
  115. package/experiments-rtl/package.json +0 -38
  116. package/experiments-rtl/postcss.config.js +0 -6
  117. package/experiments-rtl/public/next.svg +0 -1
  118. package/experiments-rtl/public/vercel.svg +0 -1
  119. package/experiments-rtl/src/app/__tests__/click.test.tsx +0 -31
  120. package/experiments-rtl/src/app/__tests__/managed-text-input.test.tsx +0 -51
  121. package/experiments-rtl/src/app/globals.css +0 -27
  122. package/experiments-rtl/src/app/layout.tsx +0 -22
  123. package/experiments-rtl/src/app/page.tsx +0 -113
  124. package/experiments-rtl/tailwind.config.ts +0 -20
  125. package/experiments-rtl/tsconfig.json +0 -28
  126. package/experiments-rtl/yarn.lock +0 -5418
  127. package/flow-typed/npm/jest_v26.x.x.js +0 -1218
  128. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
  129. package/jest-setup.ts +0 -10
  130. package/renovate.json +0 -19
  131. package/scripts/test_react_17 +0 -12
  132. package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
  133. package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
  134. package/src/__tests__/act.test.tsx +0 -56
  135. package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
  136. package/src/__tests__/auto-cleanup.test.tsx +0 -50
  137. package/src/__tests__/cleanup.test.tsx +0 -26
  138. package/src/__tests__/config.test.ts +0 -55
  139. package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
  140. package/src/__tests__/fireEvent.test.tsx +0 -485
  141. package/src/__tests__/host-component-names.test.tsx +0 -109
  142. package/src/__tests__/host-text-nesting.test.tsx +0 -90
  143. package/src/__tests__/jest-native.test.tsx +0 -84
  144. package/src/__tests__/questionsBoard.test.tsx +0 -62
  145. package/src/__tests__/react-native-api.test.tsx +0 -126
  146. package/src/__tests__/render-debug.test.tsx +0 -207
  147. package/src/__tests__/render-stringValidation.test.tsx +0 -157
  148. package/src/__tests__/render.test.tsx +0 -256
  149. package/src/__tests__/renderHook.test.tsx +0 -114
  150. package/src/__tests__/screen.test.tsx +0 -66
  151. package/src/__tests__/timerUtils.ts +0 -7
  152. package/src/__tests__/timers.test.ts +0 -27
  153. package/src/__tests__/waitFor.test.tsx +0 -327
  154. package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
  155. package/src/__tests__/within.test.tsx +0 -96
  156. package/src/act.ts +0 -86
  157. package/src/cleanup.ts +0 -15
  158. package/src/config.ts +0 -72
  159. package/src/fireEvent.ts +0 -159
  160. package/src/flush-micro-tasks.ts +0 -30
  161. package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
  162. package/src/helpers/__tests__/component-tree.test.tsx +0 -226
  163. package/src/helpers/__tests__/format-default.tsx +0 -114
  164. package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
  165. package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
  166. package/src/helpers/__tests__/query-name.test.ts +0 -10
  167. package/src/helpers/__tests__/timers.test.ts +0 -8
  168. package/src/helpers/accessiblity.ts +0 -108
  169. package/src/helpers/component-tree.ts +0 -94
  170. package/src/helpers/debugDeep.ts +0 -27
  171. package/src/helpers/debugShallow.ts +0 -22
  172. package/src/helpers/deprecation.ts +0 -53
  173. package/src/helpers/errors.ts +0 -66
  174. package/src/helpers/findAll.ts +0 -70
  175. package/src/helpers/format-default.ts +0 -72
  176. package/src/helpers/format.ts +0 -47
  177. package/src/helpers/getTextContent.ts +0 -20
  178. package/src/helpers/host-component-names.tsx +0 -88
  179. package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
  180. package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
  181. package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
  182. package/src/helpers/matchers/accessibilityState.ts +0 -48
  183. package/src/helpers/matchers/accessibilityValue.ts +0 -24
  184. package/src/helpers/matchers/matchArrayProp.ts +0 -21
  185. package/src/helpers/matchers/matchLabelText.ts +0 -50
  186. package/src/helpers/matchers/matchObjectProp.ts +0 -25
  187. package/src/helpers/matchers/matchStringProp.ts +0 -23
  188. package/src/helpers/matchers/matchTextContent.ts +0 -20
  189. package/src/helpers/pointer-events.ts +0 -27
  190. package/src/helpers/query-name.ts +0 -4
  191. package/src/helpers/stringValidation.ts +0 -36
  192. package/src/helpers/timers.ts +0 -98
  193. package/src/index.ts +0 -33
  194. package/src/matches.ts +0 -49
  195. package/src/pure.ts +0 -27
  196. package/src/queries/__tests__/a11yState.test.tsx +0 -439
  197. package/src/queries/__tests__/a11yValue.test.tsx +0 -309
  198. package/src/queries/__tests__/displayValue.test.tsx +0 -221
  199. package/src/queries/__tests__/hintText.test.tsx +0 -177
  200. package/src/queries/__tests__/labelText.test.tsx +0 -242
  201. package/src/queries/__tests__/makeQueries.test.tsx +0 -235
  202. package/src/queries/__tests__/placeholderText.test.tsx +0 -136
  203. package/src/queries/__tests__/role-value.test.tsx +0 -176
  204. package/src/queries/__tests__/role.test.tsx +0 -824
  205. package/src/queries/__tests__/testId.test.tsx +0 -200
  206. package/src/queries/__tests__/text.test.tsx +0 -556
  207. package/src/queries/a11yState.ts +0 -127
  208. package/src/queries/a11yValue.ts +0 -127
  209. package/src/queries/displayValue.ts +0 -71
  210. package/src/queries/hintText.ts +0 -107
  211. package/src/queries/labelText.ts +0 -57
  212. package/src/queries/makeQueries.ts +0 -255
  213. package/src/queries/options.ts +0 -14
  214. package/src/queries/placeholderText.ts +0 -72
  215. package/src/queries/role.ts +0 -131
  216. package/src/queries/testId.ts +0 -66
  217. package/src/queries/text.ts +0 -63
  218. package/src/queries/unsafeProps.ts +0 -76
  219. package/src/queries/unsafeType.ts +0 -73
  220. package/src/react-versions.ts +0 -11
  221. package/src/render-act.ts +0 -19
  222. package/src/render.tsx +0 -183
  223. package/src/renderHook.tsx +0 -56
  224. package/src/screen.ts +0 -123
  225. package/src/shallow.ts +0 -18
  226. package/src/test-utils/events.ts +0 -24
  227. package/src/test-utils/index.ts +0 -1
  228. package/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +0 -269
  229. package/src/user-event/__tests__/clear.test.tsx +0 -217
  230. package/src/user-event/clear.ts +0 -59
  231. package/src/user-event/event-builder/common.ts +0 -66
  232. package/src/user-event/event-builder/index.ts +0 -7
  233. package/src/user-event/event-builder/text-input.ts +0 -86
  234. package/src/user-event/index.ts +0 -18
  235. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
  236. package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
  237. package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
  238. package/src/user-event/press/__tests__/press.test.tsx +0 -457
  239. package/src/user-event/press/constants.ts +0 -7
  240. package/src/user-event/press/index.ts +0 -1
  241. package/src/user-event/press/press.ts +0 -163
  242. package/src/user-event/setup/index.ts +0 -2
  243. package/src/user-event/setup/setup.ts +0 -142
  244. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
  245. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
  246. package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
  247. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -120
  248. package/src/user-event/type/__tests__/type.test.tsx +0 -335
  249. package/src/user-event/type/index.ts +0 -1
  250. package/src/user-event/type/parseKeys.ts +0 -41
  251. package/src/user-event/type/type.ts +0 -138
  252. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
  253. package/src/user-event/utils/__tests__/wait.test.ts +0 -62
  254. package/src/user-event/utils/content-size.ts +0 -25
  255. package/src/user-event/utils/dispatch-event.ts +0 -38
  256. package/src/user-event/utils/host-components.ts +0 -6
  257. package/src/user-event/utils/index.ts +0 -6
  258. package/src/user-event/utils/text-range.ts +0 -4
  259. package/src/user-event/utils/wait.ts +0 -15
  260. package/src/user-event/utils/warn-about-real-timers.ts +0 -13
  261. package/src/waitFor.ts +0 -228
  262. package/src/waitForElementToBeRemoved.ts +0 -42
  263. package/src/within.ts +0 -30
  264. package/tsconfig.json +0 -17
  265. package/tsconfig.release.json +0 -8
  266. package/website/.gitignore +0 -20
  267. package/website/README.md +0 -33
  268. package/website/docker/.dockerignore +0 -3
  269. package/website/docker/Dockerfile +0 -9
  270. package/website/docker/docker-compose.yml +0 -11
  271. package/website/docs/API.md +0 -940
  272. package/website/docs/EslintPLluginTestingLibrary.md +0 -28
  273. package/website/docs/FAQ.md +0 -44
  274. package/website/docs/GettingStarted.md +0 -100
  275. package/website/docs/HowShouldIQuery.md +0 -21
  276. package/website/docs/MigrationV11.md +0 -64
  277. package/website/docs/MigrationV12.md +0 -67
  278. package/website/docs/MigrationV2.md +0 -126
  279. package/website/docs/MigrationV7.md +0 -119
  280. package/website/docs/MigrationV9.md +0 -67
  281. package/website/docs/Queries.md +0 -572
  282. package/website/docs/ReactNavigation.md +0 -371
  283. package/website/docs/ReduxIntegration.md +0 -137
  284. package/website/docs/TestingEnvironment.md +0 -154
  285. package/website/docs/Troubleshooting.md +0 -44
  286. package/website/docs/UnderstandingAct.md +0 -227
  287. package/website/docs/UserEvent.md +0 -191
  288. package/website/docusaurus.config.js +0 -114
  289. package/website/package.json +0 -31
  290. package/website/sidebars.js +0 -20
  291. package/website/src/components/Feature.js +0 -31
  292. package/website/src/css/custom.css +0 -13
  293. package/website/src/css/index.module.css +0 -77
  294. package/website/src/pages/index.js +0 -82
  295. package/website/static/.nojekyll +0 -0
  296. package/website/static/css/custom.css +0 -28
  297. package/website/static/img/hit.png +0 -0
  298. package/website/static/img/locomotive.png +0 -0
  299. package/website/static/img/owl.png +0 -0
  300. package/website/static/img/tools.png +0 -0
  301. package/website/yarn.lock +0 -7669
  302. package/yarn.lock +0 -7765
@@ -1,103 +0,0 @@
1
- name: Main
2
- on:
3
- push:
4
- branches: [main]
5
- pull_request:
6
- branches: ['**']
7
-
8
- jobs:
9
- install-cache-deps:
10
- runs-on: ubuntu-latest
11
- name: Install and Cache deps
12
- steps:
13
- - name: Checkout
14
- uses: actions/checkout@v3
15
-
16
- - name: Setup
17
- uses: ./.github/actions/setup-deps
18
-
19
- lint:
20
- needs: [install-cache-deps]
21
- runs-on: ubuntu-latest
22
- name: Lint
23
- steps:
24
- - name: Checkout
25
- uses: actions/checkout@v3
26
-
27
- - name: Setup Node.js and deps
28
- uses: ./.github/actions/setup-deps
29
-
30
- - name: Lint
31
- run: yarn lint
32
-
33
- typecheck:
34
- needs: [install-cache-deps]
35
- runs-on: ubuntu-latest
36
- name: Typecheck
37
- steps:
38
- - name: Checkout
39
- uses: actions/checkout@v3
40
-
41
- - name: Setup Node.js and deps
42
- uses: ./.github/actions/setup-deps
43
-
44
- - name: Typecheck
45
- run: yarn typecheck
46
-
47
- flow:
48
- needs: [install-cache-deps]
49
- runs-on: ubuntu-latest
50
- name: Flow
51
- steps:
52
- - name: Checkout
53
- uses: actions/checkout@v3
54
-
55
- - name: Setup Node.js and deps
56
- uses: ./.github/actions/setup-deps
57
-
58
- - name: Flow
59
- run: yarn flow
60
-
61
- test:
62
- needs: [install-cache-deps]
63
- runs-on: ubuntu-latest
64
- name: Test React 18
65
- steps:
66
- - name: Checkout
67
- uses: actions/checkout@v3
68
-
69
- - name: Setup Node.js and deps
70
- uses: ./.github/actions/setup-deps
71
-
72
- - name: Test React 18
73
- run: yarn test:ci
74
-
75
- - name: Upload coverage to Codecov
76
- uses: codecov/codecov-action@v3
77
-
78
- test-react-17:
79
- needs: [install-cache-deps]
80
- runs-on: ubuntu-latest
81
- name: Test React 17
82
- steps:
83
- - name: Checkout
84
- uses: actions/checkout@v3
85
-
86
- - name: Setup Node.js and deps
87
- uses: ./.github/actions/setup-deps
88
-
89
- - name: Test React 17
90
- run: yarn test:ci:react:17
91
-
92
- test-website:
93
- runs-on: ubuntu-latest
94
- name: Test Website
95
- steps:
96
- - name: Checkout
97
- uses: actions/checkout@v3
98
-
99
- - name: Setup Node.js and website deps
100
- uses: ./.github/actions/setup-website-deps
101
-
102
- - name: Build website
103
- run: yarn --cwd website build
package/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- node_modules
2
- coverage
3
- *.log
4
- .eslintcache
5
- build
6
- .idea
7
- .DS_Store
8
-
9
- # Ignore lock files in examples for now
10
- examples/**/yarn.lock
11
- .docusaurus
package/.prettierrc.js DELETED
@@ -1,5 +0,0 @@
1
- // added for Jest inline snapshots to not use default Prettier config
2
- module.exports = {
3
- singleQuote: true,
4
- trailingComma: "es5"
5
- }
@@ -1,73 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at [oss@callstack.io](mailto:oss@callstack.io). All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at https://www.contributor-covenant.org/version/1/4/code-of-conduct/
72
-
73
- [homepage]: https://www.contributor-covenant.org
package/CONTRIBUTING.md DELETED
@@ -1,64 +0,0 @@
1
- # Contributing
2
-
3
- ## Code of Conduct
4
-
5
- We want this community to be friendly and respectful to each other. Please read [the full text](/CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
6
-
7
- ## Our Development Process
8
-
9
- The core team works directly on GitHub and all work is public.
10
-
11
- ### Development workflow
12
-
13
- > **Working on your first pull request?** You can learn how from this _free_ series: [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github).
14
-
15
- 1. Fork the repo and create your branch from `main` (a guide on [how to fork a repository](https://help.github.com/articles/fork-a-repo/)).
16
- 2. Run `yarn` to setup the development environment.
17
- 3. Do the changes you want and test them out in the example app before sending a pull request.
18
-
19
- ### Commit message convention
20
-
21
- We prefix our commit messages with one of the following to signify the kind of change:
22
-
23
- - `fix`: bug fixes, e.g. fix incorrect error message.
24
- - `feat`: new features, e.g. add useful API.
25
- - `refactor`: code/structure refactor, e.g. new folder structure.
26
- - `docs`: changes into documentation, e.g. add usage example for `getByText`.
27
- - `test`: adding or updating tests, eg unit, snapshot testing.
28
- - `chore`: tooling changes, e.g. change circle ci config.
29
- - `BREAKING`: for changes that break existing usage, e.g. change API.
30
-
31
- Our pre-commit hooks verify that your commit message matches this format when committing.
32
-
33
- ### Linting and tests
34
-
35
- We use `flow` for type checking, `eslint` with `prettier` for linting and formatting the code, and `jest` for testing. Our pre-commit hooks verify that the linter and tests pass when committing. You can also run the following commands manually:
36
-
37
- - `yarn flow`: run flow on all files.
38
- - `yarn lint`: run eslint and prettier.
39
- - `yarn test`: run tests.
40
-
41
- ### Sending a pull request
42
-
43
- When you're sending a pull request:
44
-
45
- - Prefer small pull requests focused on one change.
46
- - Verify that `flow`, `eslint` and tests are passing.
47
- - Preview the documentation to make sure it looks good.
48
- - Follow the pull request template when opening a pull request.
49
-
50
- ### Publishing a release
51
-
52
- If you have publish access to the NPM package, run the following from the main branch to publish a new release:
53
-
54
- ```sh
55
- yarn publish
56
- ```
57
-
58
- ## Reporting issues
59
-
60
- You can report issues on our [bug tracker](https://github.com/callstack/react-native-testing-library/issues). Please follow the issue template when opening an issue.
61
-
62
- ## License
63
-
64
- By contributing to `@testing-library/react-native`, you agree that your contributions will be licensed under its **MIT** license.
package/babel.config.js DELETED
@@ -1,22 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- '@babel/preset-typescript',
4
- '@babel/preset-react',
5
- [
6
- '@babel/preset-env',
7
- {
8
- targets: {
9
- node: '14',
10
- },
11
- bugfixes: true,
12
- },
13
- ],
14
- ],
15
- plugins: ['@babel/plugin-proposal-class-properties'],
16
- env: {
17
- test: {
18
- // https://github.com/react-native-community/upgrade-support/issues/152
19
- plugins: ['@babel/plugin-transform-flow-strip-types'],
20
- },
21
- },
22
- };
@@ -1,15 +0,0 @@
1
- > Why do I have a folder named ".expo" in my project?
2
-
3
- The ".expo" folder is created when an Expo project is started using "expo start" command.
4
-
5
- > What do the files contain?
6
-
7
- - "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
8
- - "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator.
9
- - "settings.json": contains the server configuration that is used to serve the application manifest.
10
-
11
- > Should I commit the ".expo" folder?
12
-
13
- No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
14
-
15
- Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
@@ -1,4 +0,0 @@
1
- {
2
- "packagerPort": null,
3
- "packagerPid": null
4
- }
@@ -1,10 +0,0 @@
1
- {
2
- "scheme": null,
3
- "hostType": "lan",
4
- "lanType": "ip",
5
- "devClient": false,
6
- "dev": true,
7
- "minify": false,
8
- "urlRandomness": null,
9
- "https": false
10
- }
@@ -1,4 +0,0 @@
1
- {
2
- "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true,
3
- "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true
4
- }
@@ -1,14 +0,0 @@
1
- node_modules/
2
- .expo/
3
- dist/
4
- npm-debug.*
5
- *.jks
6
- *.p8
7
- *.p12
8
- *.key
9
- *.mobileprovision
10
- *.orig.*
11
- web-build/
12
-
13
- # macOS
14
- .DS_Store
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- import { SafeAreaView } from 'react-native';
3
- import { LoginForm } from './components/LoginForm';
4
- import { Home } from './components/Home';
5
-
6
- const App = () => {
7
- const [user, setUser] = React.useState<string | null>(null);
8
-
9
- return (
10
- <SafeAreaView>
11
- {user == null ? (
12
- <LoginForm onLoginSuccess={setUser} />
13
- ) : (
14
- <Home user={user} />
15
- )}
16
- </SafeAreaView>
17
- );
18
- };
19
-
20
- export default App;
@@ -1,11 +0,0 @@
1
- # Basic RNTL setup
2
-
3
- This example is shows a basic modern React Native Testing Library setup in a template Expo app.
4
-
5
- The app and related tests written in TypeScript, and it uses recommended practices like:
6
-
7
- - testing large pieces of application instead of small components
8
- - using `screen`-based queries
9
- - using recommended query types, e.g. `*ByText`, `*ByLabelText`, `*ByPlaceholderText` over `byTestId`
10
-
11
- You also use this repository as a reference when having issues in your RNTL configuration, as it contains the recommended Jest setup.
@@ -1,137 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- render,
4
- screen,
5
- fireEvent,
6
- userEvent,
7
- } from '@testing-library/react-native';
8
- import App from '../App';
9
-
10
- jest.useFakeTimers();
11
-
12
- /**
13
- * A good place to start is having a tests that your component renders correctly.
14
- */
15
- test('renders correctly', () => {
16
- // Idiom: no need to capture render output, as we will use `screen` for queries.
17
- render(<App />);
18
-
19
- // Idiom: `getBy*` queries are predicates by themselves, but we will use it with `expect().toBeOnTheScreen()`
20
- // to clarify our intent.
21
- expect(
22
- screen.getByRole('header', { name: 'Sign in to Example App' })
23
- ).toBeOnTheScreen();
24
- });
25
-
26
- /**
27
- * Hint: It's best when your tests are similar to what a manual test scenarions would look like,
28
- * i.e. a series of actions taken by the user, followed by a series of assertions verified from
29
- * his point of view.
30
- */
31
- test('User can sign in successully with correct credentials', async () => {
32
- // Setup User Event instance for realistic simulation of user interaction.
33
- const user = userEvent.setup();
34
-
35
- // Idiom: no need to capture render output, as we will use `screen` for queries.
36
- render(<App />);
37
-
38
- // Idiom: `getBy*` queries are predicates by themselves, but we will use it with `expect().toBeOnTheScreen()`
39
- // to clarify our intent.
40
- expect(
41
- screen.getByRole('header', { name: 'Sign in to Example App' })
42
- ).toBeOnTheScreen();
43
-
44
- // Hint: we can use `getByLabelText` to find our text inputs using their labels.
45
- await user.type(screen.getByLabelText('Username'), 'admin');
46
- await user.type(screen.getByLabelText('Password'), 'admin1');
47
-
48
- // Hint: we can use `getByRole` to find our button with given text.
49
- await user.press(screen.getByRole('button', { name: 'Sign In' }));
50
-
51
- // Idiom: since pressing button triggers async operation we need to use `findBy*` query to wait
52
- // for the action to complete.
53
- // Hint: subsequent queries do not need to use `findBy*`, because they are used after the async action
54
- // already finished
55
- expect(
56
- await screen.findByRole('header', { name: 'Welcome admin!' })
57
- ).toBeOnTheScreen();
58
-
59
- // Idiom: use `queryBy*` with `expect().not.toBeOnTheScreen()` to assess that element is not present.
60
- expect(
61
- screen.queryByRole('header', { name: 'Sign in to Example App' })
62
- ).not.toBeOnTheScreen();
63
- expect(screen.queryByLabelText('Username')).not.toBeOnTheScreen();
64
- expect(screen.queryByLabelText('Password')).not.toBeOnTheScreen();
65
- });
66
-
67
- /**
68
- * Another test case based on manual test scenario.
69
- *
70
- * Hint: Try to tests what a user would see and do, instead of assering internal component state
71
- * that is not directly reflected in the UI.
72
- *
73
- * For this reason prefer quries that correspond to things directly observable by the user like:
74
- * `getByRole`, `getByText`, `getByLabelText`, `getByPlaceholderText, `getByDisplayValue`, etc.
75
- * over `getByTestId` which is not directly observable by the user.
76
- *
77
- * Note: that some times you will have to resort to `getByTestId`, but treat it as a last resort.
78
- */
79
- test('User will see errors for incorrect credentials', async () => {
80
- const user = userEvent.setup();
81
- render(<App />);
82
-
83
- expect(
84
- screen.getByRole('header', { name: 'Sign in to Example App' })
85
- ).toBeOnTheScreen();
86
-
87
- await user.type(screen.getByLabelText('Username'), 'admin');
88
- await user.type(screen.getByLabelText('Password'), 'qwerty123');
89
- await user.press(screen.getByRole('button', { name: 'Sign In' }));
90
-
91
- // Hint: you can use custom Jest Native matcher to check text content.
92
- expect(await screen.findByRole('alert')).toHaveTextContent(
93
- 'Incorrect username or password'
94
- );
95
-
96
- expect(
97
- screen.getByRole('header', { name: 'Sign in to Example App' })
98
- ).toBeOnTheScreen();
99
- expect(screen.getByLabelText('Username')).toBeOnTheScreen();
100
- expect(screen.getByLabelText('Password')).toBeOnTheScreen();
101
- });
102
-
103
- /**
104
- * Do not be afraid to write longer test scenarios, with repeating act and assert statements.
105
- */
106
- test('User can sign in after incorrect attempt', async () => {
107
- const user = userEvent.setup();
108
- render(<App />);
109
-
110
- expect(
111
- screen.getByRole('header', { name: 'Sign in to Example App' })
112
- ).toBeOnTheScreen();
113
-
114
- const usernameInput = screen.getByLabelText('Username');
115
- const passwordInput = screen.getByLabelText('Password');
116
-
117
- await user.type(usernameInput, 'admin');
118
- await user.type(passwordInput, 'qwerty123');
119
- await user.press(screen.getByRole('button', { name: 'Sign In' }));
120
-
121
- expect(await screen.findByRole('alert')).toHaveTextContent(
122
- 'Incorrect username or password'
123
- );
124
-
125
- // Workaround for clearing TextInput, clear() function will be added soon.
126
- fireEvent.changeText(passwordInput, '');
127
-
128
- await user.type(passwordInput, 'admin1');
129
- await user.press(screen.getByRole('button', { name: 'Sign In' }));
130
-
131
- expect(await screen.findByText('Welcome admin!')).toBeOnTheScreen();
132
- expect(
133
- screen.queryByRole('header', { name: 'Sign in to Example App' })
134
- ).not.toBeOnTheScreen();
135
- expect(screen.queryByLabelText('Username')).not.toBeOnTheScreen();
136
- expect(screen.queryByLabelText('Password')).not.toBeOnTheScreen();
137
- });
@@ -1,31 +0,0 @@
1
- {
2
- "expo": {
3
- "name": "RNTL Example Basic",
4
- "slug": "rntl-example-basic",
5
- "version": "1.0.0",
6
- "orientation": "portrait",
7
- "icon": "./assets/icon.png",
8
- "userInterfaceStyle": "light",
9
- "splash": {
10
- "image": "./assets/splash.png",
11
- "resizeMode": "contain",
12
- "backgroundColor": "#ffffff"
13
- },
14
- "updates": {
15
- "fallbackToCacheTimeout": 0
16
- },
17
- "assetBundlePatterns": ["**/*"],
18
- "ios": {
19
- "supportsTablet": true
20
- },
21
- "android": {
22
- "adaptiveIcon": {
23
- "foregroundImage": "./assets/adaptive-icon.png",
24
- "backgroundColor": "#FFFFFF"
25
- }
26
- },
27
- "web": {
28
- "favicon": "./assets/favicon.png"
29
- }
30
- }
31
- }
Binary file
Binary file
Binary file
@@ -1,6 +0,0 @@
1
- module.exports = function (api) {
2
- api.cache(true);
3
- return {
4
- presets: ['babel-preset-expo'],
5
- };
6
- };
@@ -1,28 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, View, Text } from 'react-native';
3
-
4
- type Props = {
5
- user: string;
6
- };
7
-
8
- export function Home({ user }: Props) {
9
- return (
10
- <View style={styles.container}>
11
- <Text accessibilityRole="header" style={styles.title}>
12
- Welcome {user}!
13
- </Text>
14
- </View>
15
- );
16
- }
17
-
18
- const styles = StyleSheet.create({
19
- container: {
20
- padding: 20,
21
- },
22
- title: {
23
- alignSelf: 'center',
24
- fontSize: 24,
25
- marginTop: 8,
26
- marginBottom: 40,
27
- },
28
- });