@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.
- package/build/fireEvent.js +1 -1
- package/build/fireEvent.js.map +1 -1
- package/build/helpers/component-tree.d.ts +11 -5
- package/build/helpers/component-tree.js +5 -1
- package/build/helpers/component-tree.js.map +1 -1
- package/build/helpers/findAll.d.ts +2 -1
- package/build/helpers/findAll.js +2 -1
- package/build/helpers/findAll.js.map +1 -1
- package/build/helpers/host-component-names.d.ts +11 -2
- package/build/helpers/host-component-names.js +10 -0
- package/build/helpers/host-component-names.js.map +1 -1
- package/build/helpers/matchers/matchLabelText.js +1 -1
- package/build/helpers/matchers/matchLabelText.js.map +1 -1
- package/build/queries/a11yState.js +1 -1
- package/build/queries/a11yState.js.map +1 -1
- package/build/queries/a11yValue.js +1 -1
- package/build/queries/a11yValue.js.map +1 -1
- package/build/queries/displayValue.js +5 -6
- package/build/queries/displayValue.js.map +1 -1
- package/build/queries/hintText.js +1 -1
- package/build/queries/hintText.js.map +1 -1
- package/build/queries/labelText.js +1 -1
- package/build/queries/labelText.js.map +1 -1
- package/build/queries/placeholderText.js +3 -4
- package/build/queries/placeholderText.js.map +1 -1
- package/build/queries/role.js +1 -1
- package/build/queries/role.js.map +1 -1
- package/build/queries/testId.js +3 -3
- package/build/queries/testId.js.map +1 -1
- package/build/queries/text.js +1 -2
- package/build/queries/text.js.map +1 -1
- package/build/render.js.map +1 -1
- package/build/user-event/clear.d.ts +3 -0
- package/build/user-event/clear.js +41 -0
- package/build/user-event/clear.js.map +1 -0
- package/build/user-event/index.d.ts +1 -0
- package/build/user-event/index.js +2 -1
- package/build/user-event/index.js.map +1 -1
- package/build/user-event/press/press.js +1 -4
- package/build/user-event/press/press.js.map +1 -1
- package/build/user-event/setup/setup.d.ts +14 -2
- package/build/user-event/setup/setup.js +3 -1
- package/build/user-event/setup/setup.js.map +1 -1
- package/build/user-event/type/type.d.ts +2 -1
- package/build/user-event/type/type.js +8 -4
- package/build/user-event/type/type.js.map +1 -1
- package/build/user-event/utils/host-components.d.ts +2 -0
- package/build/user-event/utils/host-components.js +11 -0
- package/build/user-event/utils/host-components.js.map +1 -0
- package/build/user-event/utils/index.d.ts +1 -0
- package/build/user-event/utils/index.js +11 -0
- package/build/user-event/utils/index.js.map +1 -1
- package/build/user-event/utils/text-range.d.ts +0 -1
- package/build/user-event/utils/text-range.js +0 -11
- package/build/user-event/utils/text-range.js.map +1 -1
- package/package.json +5 -4
- package/.DS_Store +0 -0
- package/.codecov.yml +0 -9
- package/.eslintcache +0 -1
- package/.eslintignore +0 -2
- package/.eslintrc +0 -19
- package/.flowconfig +0 -63
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
- package/.github/ISSUE_TEMPLATE/question.md +0 -9
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
- package/.github/actions/setup-deps/action.yml +0 -22
- package/.github/actions/setup-website-deps/action.yml +0 -22
- package/.github/dependabot.yml +0 -10
- package/.github/workflows/deploy-website.yml +0 -36
- package/.github/workflows/example-apps.yml +0 -25
- package/.github/workflows/main.yml +0 -103
- package/.gitignore +0 -11
- package/.prettierrc.js +0 -5
- package/CODE_OF_CONDUCT.md +0 -73
- package/CONTRIBUTING.md +0 -64
- package/babel.config.js +0 -22
- package/build/helpers/filterNodeByType.d.ts +0 -3
- package/build/helpers/filterNodeByType.js +0 -9
- package/build/helpers/filterNodeByType.js.map +0 -1
- package/coverage/clover.xml +0 -1176
- package/coverage/coverage-final.json +0 -70
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -266
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/src/act.ts.html +0 -343
- package/coverage/lcov-report/src/cleanup.ts.html +0 -130
- package/coverage/lcov-report/src/config.ts.html +0 -301
- package/coverage/lcov-report/src/fireEvent.ts.html +0 -559
- package/coverage/lcov-report/src/flushMicroTasks.ts.html +0 -124
- package/coverage/lcov-report/src/helpers/accessiblity.ts.html +0 -412
- package/coverage/lcov-report/src/helpers/component-tree.ts.html +0 -352
- package/coverage/lcov-report/src/helpers/debugDeep.ts.html +0 -166
- package/coverage/lcov-report/src/helpers/debugShallow.ts.html +0 -151
- package/coverage/lcov-report/src/helpers/deprecation.ts.html +0 -244
- package/coverage/lcov-report/src/helpers/errors.ts.html +0 -283
- package/coverage/lcov-report/src/helpers/filterNodeByType.ts.html +0 -106
- package/coverage/lcov-report/src/helpers/findAll.ts.html +0 -289
- package/coverage/lcov-report/src/helpers/format-default.ts.html +0 -301
- package/coverage/lcov-report/src/helpers/format.ts.html +0 -226
- package/coverage/lcov-report/src/helpers/getTextContent.ts.html +0 -145
- package/coverage/lcov-report/src/helpers/host-component-names.tsx.html +0 -286
- package/coverage/lcov-report/src/helpers/index.html +0 -326
- package/coverage/lcov-report/src/helpers/matchers/accessibilityState.ts.html +0 -229
- package/coverage/lcov-report/src/helpers/matchers/accessibilityValue.ts.html +0 -157
- package/coverage/lcov-report/src/helpers/matchers/index.html +0 -206
- package/coverage/lcov-report/src/helpers/matchers/matchArrayProp.ts.html +0 -148
- package/coverage/lcov-report/src/helpers/matchers/matchLabelText.ts.html +0 -238
- package/coverage/lcov-report/src/helpers/matchers/matchObjectProp.ts.html +0 -160
- package/coverage/lcov-report/src/helpers/matchers/matchStringProp.ts.html +0 -154
- package/coverage/lcov-report/src/helpers/matchers/matchTextContent.ts.html +0 -145
- package/coverage/lcov-report/src/helpers/query-name.ts.html +0 -97
- package/coverage/lcov-report/src/helpers/stringValidation.ts.html +0 -193
- package/coverage/lcov-report/src/helpers/timers.ts.html +0 -382
- package/coverage/lcov-report/src/index.html +0 -356
- package/coverage/lcov-report/src/index.ts.html +0 -184
- package/coverage/lcov-report/src/matches.ts.html +0 -232
- package/coverage/lcov-report/src/pure.ts.html +0 -157
- package/coverage/lcov-report/src/queries/a11yState.ts.html +0 -478
- package/coverage/lcov-report/src/queries/a11yValue.ts.html +0 -478
- package/coverage/lcov-report/src/queries/displayValue.ts.html +0 -319
- package/coverage/lcov-report/src/queries/hintText.ts.html +0 -421
- package/coverage/lcov-report/src/queries/index.html +0 -281
- package/coverage/lcov-report/src/queries/labelText.ts.html +0 -262
- package/coverage/lcov-report/src/queries/makeQueries.ts.html +0 -850
- package/coverage/lcov-report/src/queries/placeholderText.ts.html +0 -322
- package/coverage/lcov-report/src/queries/role.ts.html +0 -481
- package/coverage/lcov-report/src/queries/testId.ts.html +0 -298
- package/coverage/lcov-report/src/queries/text.ts.html +0 -283
- package/coverage/lcov-report/src/queries/unsafeProps.ts.html +0 -313
- package/coverage/lcov-report/src/queries/unsafeType.ts.html +0 -304
- package/coverage/lcov-report/src/react-versions.ts.html +0 -118
- package/coverage/lcov-report/src/render-act.ts.html +0 -142
- package/coverage/lcov-report/src/render.tsx.html +0 -592
- package/coverage/lcov-report/src/renderHook.tsx.html +0 -262
- package/coverage/lcov-report/src/screen.ts.html +0 -454
- package/coverage/lcov-report/src/shallow.ts.html +0 -139
- package/coverage/lcov-report/src/test-utils/events.ts.html +0 -145
- package/coverage/lcov-report/src/test-utils/index.html +0 -131
- package/coverage/lcov-report/src/test-utils/index.ts.html +0 -88
- package/coverage/lcov-report/src/user-event/event-builder/common.ts.html +0 -229
- package/coverage/lcov-report/src/user-event/event-builder/index.html +0 -146
- package/coverage/lcov-report/src/user-event/event-builder/index.ts.html +0 -106
- package/coverage/lcov-report/src/user-event/event-builder/test-input.ts.html +0 -343
- package/coverage/lcov-report/src/user-event/event-builder/text-input.ts.html +0 -343
- package/coverage/lcov-report/src/user-event/index.html +0 -116
- package/coverage/lcov-report/src/user-event/index.ts.html +0 -121
- package/coverage/lcov-report/src/user-event/press/index.html +0 -131
- package/coverage/lcov-report/src/user-event/press/index.ts.html +0 -88
- package/coverage/lcov-report/src/user-event/press/press.ts.html +0 -133
- package/coverage/lcov-report/src/user-event/setup/index.html +0 -131
- package/coverage/lcov-report/src/user-event/setup/index.ts.html +0 -91
- package/coverage/lcov-report/src/user-event/setup/setup.ts.html +0 -358
- package/coverage/lcov-report/src/user-event/type/index.html +0 -146
- package/coverage/lcov-report/src/user-event/type/index.ts.html +0 -88
- package/coverage/lcov-report/src/user-event/type/parseKeys.ts.html +0 -208
- package/coverage/lcov-report/src/user-event/type/type.ts.html +0 -484
- package/coverage/lcov-report/src/user-event/utils/content-size.ts.html +0 -160
- package/coverage/lcov-report/src/user-event/utils/dispatch-event.ts.html +0 -367
- package/coverage/lcov-report/src/user-event/utils/events.ts.html +0 -247
- package/coverage/lcov-report/src/user-event/utils/index.html +0 -176
- package/coverage/lcov-report/src/user-event/utils/index.ts.html +0 -97
- package/coverage/lcov-report/src/user-event/utils/text-range.ts.html +0 -118
- package/coverage/lcov-report/src/user-event/utils/wait.ts.html +0 -130
- package/coverage/lcov-report/src/waitFor.ts.html +0 -772
- package/coverage/lcov-report/src/waitForElementToBeRemoved.ts.html +0 -211
- package/coverage/lcov-report/src/within.ts.html +0 -175
- package/coverage/lcov.info +0 -2614
- package/examples/.DS_Store +0 -0
- package/examples/basic/.expo/README.md +0 -17
- package/examples/basic/.expo/devices.json +0 -3
- package/examples/basic/.expo/packager-info.json +0 -4
- package/examples/basic/.expo/settings.json +0 -8
- package/examples/basic/.expo-shared/assets.json +0 -4
- package/examples/basic/.gitignore +0 -14
- package/examples/basic/App.tsx +0 -20
- package/examples/basic/README.md +0 -11
- package/examples/basic/__tests__/App.test.tsx +0 -119
- package/examples/basic/app.json +0 -31
- package/examples/basic/assets/adaptive-icon.png +0 -0
- package/examples/basic/assets/favicon.png +0 -0
- package/examples/basic/assets/icon.png +0 -0
- package/examples/basic/assets/splash.png +0 -0
- package/examples/basic/babel.config.js +0 -6
- package/examples/basic/components/Home.tsx +0 -28
- package/examples/basic/components/LoginForm.tsx +0 -138
- package/examples/basic/jest-setup.ts +0 -7
- package/examples/basic/jest.config.js +0 -5
- package/examples/basic/package.json +0 -30
- package/examples/basic/tsconfig.json +0 -7
- package/examples/basic/yarn-error.log +0 -8083
- package/examples/basic/yarn.lock +0 -8878
- package/examples/react-navigation/README.md +0 -16
- package/examples/react-navigation/babel.config.js +0 -4
- package/examples/react-navigation/jest-setup.js +0 -11
- package/examples/react-navigation/jest.config.js +0 -10
- package/examples/react-navigation/package.json +0 -31
- package/examples/react-navigation/src/App.js +0 -21
- package/examples/react-navigation/src/DrawerNavigator.js +0 -15
- package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
- package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
- package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
- package/examples/react-navigation/src/StackNavigator.js +0 -15
- package/examples/react-navigation/src/StackNavigator.test.js +0 -34
- package/examples/react-navigation/src/TabNavigator.js +0 -15
- package/examples/react-navigation/src/TabNavigator.test.js +0 -21
- package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
- package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
- package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
- package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
- package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
- package/examples/react-navigation/src/test-utils.js +0 -12
- package/examples/react-navigation/yarn.lock +0 -5610
- package/examples/redux/App.js +0 -27
- package/examples/redux/README.md +0 -5
- package/examples/redux/actions/todoActions.js +0 -25
- package/examples/redux/babel.config.js +0 -6
- package/examples/redux/components/AddTodo.js +0 -73
- package/examples/redux/components/AddTodo.test.js +0 -27
- package/examples/redux/components/TodoElem.js +0 -25
- package/examples/redux/components/TodoList.js +0 -29
- package/examples/redux/components/TodoList.test.js +0 -34
- package/examples/redux/index.js +0 -8
- package/examples/redux/jest-setup.js +0 -2
- package/examples/redux/jest.config.js +0 -4
- package/examples/redux/package.json +0 -23
- package/examples/redux/reducers/index.js +0 -6
- package/examples/redux/reducers/todoReducer.js +0 -27
- package/examples/redux/store.js +0 -10
- package/examples/redux/test-utils.js +0 -11
- package/examples/redux/yarn-error.log +0 -8083
- package/examples/redux/yarn.lock +0 -8423
- package/experiments-app/.expo/README.md +0 -15
- package/experiments-app/.expo/devices.json +0 -3
- package/experiments-app/.expo/settings.json +0 -10
- package/experiments-app/.gitignore +0 -17
- package/experiments-app/.prettierrc.js +0 -5
- package/experiments-app/app.json +0 -30
- package/experiments-app/assets/adaptive-icon.png +0 -0
- package/experiments-app/assets/favicon.png +0 -0
- package/experiments-app/assets/icon.png +0 -0
- package/experiments-app/assets/splash.png +0 -0
- package/experiments-app/babel.config.js +0 -6
- package/experiments-app/index.js +0 -4
- package/experiments-app/package.json +0 -31
- package/experiments-app/src/App.tsx +0 -31
- package/experiments-app/src/MainScreen.tsx +0 -51
- package/experiments-app/src/experiments.ts +0 -17
- package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -54
- package/experiments-app/src/screens/TextInputEvents.tsx +0 -60
- package/experiments-app/src/utils/helpers.ts +0 -8
- package/experiments-app/tsconfig.json +0 -6
- package/experiments-app/yarn.lock +0 -6913
- package/flow-typed/npm/jest_v26.x.x.js +0 -1218
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
- package/jest-setup.ts +0 -10
- package/renovate.json +0 -19
- package/scripts/test_react_17 +0 -12
- package/src/.DS_Store +0 -0
- package/src/__tests__/.DS_Store +0 -0
- package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
- package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
- package/src/__tests__/act.test.tsx +0 -56
- package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
- package/src/__tests__/auto-cleanup.test.tsx +0 -50
- package/src/__tests__/cleanup.test.tsx +0 -26
- package/src/__tests__/config.test.ts +0 -55
- package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
- package/src/__tests__/fireEvent.test.tsx +0 -485
- package/src/__tests__/host-component-names.test.tsx +0 -109
- package/src/__tests__/host-text-nesting.test.tsx +0 -90
- package/src/__tests__/jest-native.test.tsx +0 -84
- package/src/__tests__/questionsBoard.test.tsx +0 -62
- package/src/__tests__/react-native-api.test.tsx +0 -126
- package/src/__tests__/render-debug.test.tsx +0 -207
- package/src/__tests__/render-stringValidation.test.tsx +0 -157
- package/src/__tests__/render.test.tsx +0 -256
- package/src/__tests__/renderHook.test.tsx +0 -114
- package/src/__tests__/screen.test.tsx +0 -66
- package/src/__tests__/timerUtils.ts +0 -7
- package/src/__tests__/timers.test.ts +0 -27
- package/src/__tests__/waitFor.test.tsx +0 -327
- package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
- package/src/__tests__/within.test.tsx +0 -96
- package/src/act.ts +0 -86
- package/src/cleanup.ts +0 -15
- package/src/config.ts +0 -72
- package/src/fireEvent.ts +0 -159
- package/src/flush-micro-tasks.ts +0 -30
- package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
- package/src/helpers/__tests__/component-tree.test.tsx +0 -226
- package/src/helpers/__tests__/format-default.tsx +0 -114
- package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
- package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
- package/src/helpers/__tests__/query-name.test.ts +0 -10
- package/src/helpers/__tests__/timers.test.ts +0 -8
- package/src/helpers/accessiblity.ts +0 -108
- package/src/helpers/component-tree.ts +0 -89
- package/src/helpers/debugDeep.ts +0 -27
- package/src/helpers/debugShallow.ts +0 -22
- package/src/helpers/deprecation.ts +0 -53
- package/src/helpers/errors.ts +0 -66
- package/src/helpers/filterNodeByType.ts +0 -7
- package/src/helpers/findAll.ts +0 -68
- package/src/helpers/format-default.ts +0 -72
- package/src/helpers/format.ts +0 -47
- package/src/helpers/getTextContent.ts +0 -20
- package/src/helpers/host-component-names.tsx +0 -75
- package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
- package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
- package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
- package/src/helpers/matchers/accessibilityState.ts +0 -48
- package/src/helpers/matchers/accessibilityValue.ts +0 -24
- package/src/helpers/matchers/matchArrayProp.ts +0 -21
- package/src/helpers/matchers/matchLabelText.ts +0 -51
- package/src/helpers/matchers/matchObjectProp.ts +0 -25
- package/src/helpers/matchers/matchStringProp.ts +0 -23
- package/src/helpers/matchers/matchTextContent.ts +0 -20
- package/src/helpers/pointer-events.ts +0 -27
- package/src/helpers/query-name.ts +0 -4
- package/src/helpers/stringValidation.ts +0 -36
- package/src/helpers/timers.ts +0 -98
- package/src/index.ts +0 -33
- package/src/matches.ts +0 -49
- package/src/pure.ts +0 -27
- package/src/queries/__tests__/a11yState.test.tsx +0 -439
- package/src/queries/__tests__/a11yValue.test.tsx +0 -309
- package/src/queries/__tests__/displayValue.test.tsx +0 -221
- package/src/queries/__tests__/hintText.test.tsx +0 -177
- package/src/queries/__tests__/labelText.test.tsx +0 -242
- package/src/queries/__tests__/makeQueries.test.tsx +0 -235
- package/src/queries/__tests__/placeholderText.test.tsx +0 -136
- package/src/queries/__tests__/role-value.test.tsx +0 -176
- package/src/queries/__tests__/role.test.tsx +0 -824
- package/src/queries/__tests__/testId.test.tsx +0 -200
- package/src/queries/__tests__/text.test.tsx +0 -556
- package/src/queries/a11yState.ts +0 -131
- package/src/queries/a11yValue.ts +0 -131
- package/src/queries/displayValue.ts +0 -78
- package/src/queries/hintText.ts +0 -112
- package/src/queries/labelText.ts +0 -59
- package/src/queries/makeQueries.ts +0 -255
- package/src/queries/options.ts +0 -14
- package/src/queries/placeholderText.ts +0 -79
- package/src/queries/role.ts +0 -132
- package/src/queries/testId.ts +0 -71
- package/src/queries/text.ts +0 -66
- package/src/queries/unsafeProps.ts +0 -76
- package/src/queries/unsafeType.ts +0 -73
- package/src/react-versions.ts +0 -11
- package/src/render-act.ts +0 -19
- package/src/render.tsx +0 -183
- package/src/renderHook.tsx +0 -56
- package/src/screen.ts +0 -123
- package/src/shallow.ts +0 -18
- package/src/test-utils/events.ts +0 -24
- package/src/test-utils/index.ts +0 -1
- package/src/user-event/event-builder/common.ts +0 -66
- package/src/user-event/event-builder/index.ts +0 -7
- package/src/user-event/event-builder/text-input.ts +0 -86
- package/src/user-event/index.ts +0 -17
- package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
- package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
- package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
- package/src/user-event/press/__tests__/press.test.tsx +0 -457
- package/src/user-event/press/constants.ts +0 -7
- package/src/user-event/press/index.ts +0 -1
- package/src/user-event/press/press.ts +0 -169
- package/src/user-event/setup/index.ts +0 -2
- package/src/user-event/setup/setup.ts +0 -127
- package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
- package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
- package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
- package/src/user-event/type/__tests__/type-managed.test.tsx +0 -121
- package/src/user-event/type/__tests__/type.test.tsx +0 -336
- package/src/user-event/type/index.ts +0 -1
- package/src/user-event/type/parseKeys.ts +0 -41
- package/src/user-event/type/type.ts +0 -135
- package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
- package/src/user-event/utils/__tests__/wait.test.ts +0 -63
- package/src/user-event/utils/content-size.ts +0 -25
- package/src/user-event/utils/dispatch-event.ts +0 -38
- package/src/user-event/utils/index.ts +0 -5
- package/src/user-event/utils/text-range.ts +0 -11
- package/src/user-event/utils/wait.ts +0 -15
- package/src/user-event/utils/warn-about-real-timers.ts +0 -13
- package/src/waitFor.ts +0 -228
- package/src/waitForElementToBeRemoved.ts +0 -42
- package/src/within.ts +0 -30
- package/tsconfig.json +0 -17
- package/tsconfig.release.json +0 -8
- package/website/.DS_Store +0 -0
- package/website/.docusaurus/DONT-EDIT-THIS-FOLDER +0 -5
- package/website/.docusaurus/client-modules.js +0 -6
- package/website/.docusaurus/codeTranslations.json +0 -1
- package/website/.docusaurus/docusaurus-plugin-content-blog/default/blog-post-list-prop-default.json +0 -4
- package/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json +0 -4
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json +0 -4
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-api-md-c82.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-eslint-p-llugin-testing-library-md-d24.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-faq-md-ad8.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-getting-started-md-8a6.json +0 -23
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-how-should-i-query-md-f2d.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-11-md-add.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-12-md-14f.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-2-md-698.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-7-md-6bb.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-9-md-f69.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-queries-md-7ad.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-react-navigation-md-1bd.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-redux-integration-md-77b.json +0 -23
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-testing-environment-md-1c6.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-troubleshooting-md-01d.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-understanding-act-md-aa9.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-user-event-md-501.json +0 -27
- package/website/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json +0 -268
- package/website/.docusaurus/docusaurus-plugin-content-docs/react-native-testing-library-docs-route-96e.json +0 -115
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-api-md-c82.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-eslint-p-llugin-testing-library-md-d24.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-faq-md-ad8.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-getting-started-md-8a6.json +0 -15
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-how-should-i-query-md-f2d.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-11-md-add.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-2-md-698.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-7-md-6bb.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-9-md-f69.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-queries-md-7ad.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-react-navigation-md-1bd.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-redux-integration-md-77b.json +0 -15
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-troubleshooting-md-01d.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-understanding-act-md-aa9.json +0 -19
- package/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json +0 -4
- package/website/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json +0 -623
- package/website/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json +0 -4
- package/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json +0 -4
- package/website/.docusaurus/docusaurus.config.js +0 -267
- package/website/.docusaurus/docusaurus.config.mjs +0 -365
- package/website/.docusaurus/globalData.json +0 -113
- package/website/.docusaurus/i18n.json +0 -17
- package/website/.docusaurus/registry.js +0 -35
- package/website/.docusaurus/routes.js +0 -162
- package/website/.docusaurus/routesChunkNames.json +0 -133
- package/website/.docusaurus/site-metadata.json +0 -36
- package/website/.gitignore +0 -20
- package/website/README.md +0 -33
- package/website/docker/.dockerignore +0 -3
- package/website/docker/Dockerfile +0 -9
- package/website/docker/docker-compose.yml +0 -11
- package/website/docs/API.md +0 -940
- package/website/docs/EslintPLluginTestingLibrary.md +0 -28
- package/website/docs/FAQ.md +0 -44
- package/website/docs/GettingStarted.md +0 -100
- package/website/docs/HowShouldIQuery.md +0 -21
- package/website/docs/MigrationV11.md +0 -64
- package/website/docs/MigrationV12.md +0 -67
- package/website/docs/MigrationV2.md +0 -126
- package/website/docs/MigrationV7.md +0 -119
- package/website/docs/MigrationV9.md +0 -67
- package/website/docs/Queries.md +0 -567
- package/website/docs/ReactNavigation.md +0 -371
- package/website/docs/ReduxIntegration.md +0 -137
- package/website/docs/TestingEnvironment.md +0 -154
- package/website/docs/Troubleshooting.md +0 -44
- package/website/docs/UnderstandingAct.md +0 -227
- package/website/docs/UserEvent.md +0 -143
- package/website/docusaurus.config.js +0 -114
- package/website/package.json +0 -31
- package/website/sidebars.js +0 -20
- package/website/src/components/Feature.js +0 -31
- package/website/src/css/custom.css +0 -13
- package/website/src/css/index.module.css +0 -77
- package/website/src/pages/index.js +0 -82
- package/website/static/.nojekyll +0 -0
- package/website/static/css/custom.css +0 -28
- package/website/static/img/hit.png +0 -0
- package/website/static/img/locomotive.png +0 -0
- package/website/static/img/owl.png +0 -0
- package/website/static/img/tools.png +0 -0
- package/website/yarn.lock +0 -7669
- package/yarn-error.log +0 -10613
- package/yarn.lock +0 -7765
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View, Text, TextInput } from 'react-native';
|
|
3
|
-
import { render } from '../..';
|
|
4
|
-
import {
|
|
5
|
-
getHostChildren,
|
|
6
|
-
getHostParent,
|
|
7
|
-
getHostSelves,
|
|
8
|
-
getHostSiblings,
|
|
9
|
-
} from '../component-tree';
|
|
10
|
-
|
|
11
|
-
function ZeroHostChildren() {
|
|
12
|
-
return <></>;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function MultipleHostChildren() {
|
|
16
|
-
return (
|
|
17
|
-
<>
|
|
18
|
-
<View testID="child1" />
|
|
19
|
-
<View testID="child2" />
|
|
20
|
-
<View testID="child3" />
|
|
21
|
-
</>
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
describe('getHostParent()', () => {
|
|
26
|
-
it('returns host parent for host component', () => {
|
|
27
|
-
const view = render(
|
|
28
|
-
<View testID="grandparent">
|
|
29
|
-
<View testID="parent">
|
|
30
|
-
<View testID="subject" />
|
|
31
|
-
<View testID="sibling" />
|
|
32
|
-
</View>
|
|
33
|
-
</View>
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
const hostParent = getHostParent(view.getByTestId('subject'));
|
|
37
|
-
expect(hostParent).toBe(view.getByTestId('parent'));
|
|
38
|
-
|
|
39
|
-
const hostGrandparent = getHostParent(hostParent);
|
|
40
|
-
expect(hostGrandparent).toBe(view.getByTestId('grandparent'));
|
|
41
|
-
|
|
42
|
-
expect(getHostParent(hostGrandparent)).toBe(null);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('returns host parent for null', () => {
|
|
46
|
-
expect(getHostParent(null)).toBe(null);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it('returns host parent for composite component', () => {
|
|
50
|
-
const view = render(
|
|
51
|
-
<View testID="parent">
|
|
52
|
-
<MultipleHostChildren />
|
|
53
|
-
<View testID="subject" />
|
|
54
|
-
</View>
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
const compositeComponent = view.UNSAFE_getByType(MultipleHostChildren);
|
|
58
|
-
const hostParent = getHostParent(compositeComponent);
|
|
59
|
-
expect(hostParent).toBe(view.getByTestId('parent'));
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
describe('getHostChildren()', () => {
|
|
64
|
-
it('returns host children for host component', () => {
|
|
65
|
-
const view = render(
|
|
66
|
-
<View testID="grandparent">
|
|
67
|
-
<View testID="parent">
|
|
68
|
-
<View testID="subject" />
|
|
69
|
-
<Text testID="sibling">Hello</Text>
|
|
70
|
-
</View>
|
|
71
|
-
</View>
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
const hostSubject = view.getByTestId('subject');
|
|
75
|
-
expect(getHostChildren(hostSubject)).toEqual([]);
|
|
76
|
-
|
|
77
|
-
const hostSibling = view.getByTestId('sibling');
|
|
78
|
-
expect(getHostChildren(hostSibling)).toEqual([]);
|
|
79
|
-
|
|
80
|
-
const hostParent = view.getByTestId('parent');
|
|
81
|
-
expect(getHostChildren(hostParent)).toEqual([hostSubject, hostSibling]);
|
|
82
|
-
|
|
83
|
-
const hostGrandparent = view.getByTestId('grandparent');
|
|
84
|
-
expect(getHostChildren(hostGrandparent)).toEqual([hostParent]);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
it('returns host children for composite component', () => {
|
|
88
|
-
const view = render(
|
|
89
|
-
<View testID="parent">
|
|
90
|
-
<MultipleHostChildren />
|
|
91
|
-
<View testID="subject" />
|
|
92
|
-
<View testID="sibling" />
|
|
93
|
-
</View>
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
expect(getHostChildren(view.getByTestId('parent'))).toEqual([
|
|
97
|
-
view.getByTestId('child1'),
|
|
98
|
-
view.getByTestId('child2'),
|
|
99
|
-
view.getByTestId('child3'),
|
|
100
|
-
view.getByTestId('subject'),
|
|
101
|
-
view.getByTestId('sibling'),
|
|
102
|
-
]);
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
describe('getHostSelves()', () => {
|
|
107
|
-
it('returns passed element for host components', () => {
|
|
108
|
-
const view = render(
|
|
109
|
-
<View testID="grandparent">
|
|
110
|
-
<View testID="parent">
|
|
111
|
-
<View testID="subject" />
|
|
112
|
-
<View testID="sibling" />
|
|
113
|
-
</View>
|
|
114
|
-
</View>
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
const hostSubject = view.getByTestId('subject');
|
|
118
|
-
expect(getHostSelves(hostSubject)).toEqual([hostSubject]);
|
|
119
|
-
|
|
120
|
-
const hostSibling = view.getByTestId('sibling');
|
|
121
|
-
expect(getHostSelves(hostSibling)).toEqual([hostSibling]);
|
|
122
|
-
|
|
123
|
-
const hostParent = view.getByTestId('parent');
|
|
124
|
-
expect(getHostSelves(hostParent)).toEqual([hostParent]);
|
|
125
|
-
|
|
126
|
-
const hostGrandparent = view.getByTestId('grandparent');
|
|
127
|
-
expect(getHostSelves(hostGrandparent)).toEqual([hostGrandparent]);
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
test('returns single host element for React Native composite components', () => {
|
|
131
|
-
const view = render(
|
|
132
|
-
<View testID="parent">
|
|
133
|
-
<Text testID="text">Text</Text>
|
|
134
|
-
<TextInput
|
|
135
|
-
testID="textInput"
|
|
136
|
-
defaultValue="TextInputValue"
|
|
137
|
-
placeholder="TextInputPlaceholder"
|
|
138
|
-
/>
|
|
139
|
-
</View>
|
|
140
|
-
);
|
|
141
|
-
|
|
142
|
-
const compositeText = view.getByText('Text');
|
|
143
|
-
const hostText = view.getByTestId('text');
|
|
144
|
-
expect(getHostSelves(compositeText)).toEqual([hostText]);
|
|
145
|
-
|
|
146
|
-
const compositeTextInputByValue = view.getByDisplayValue('TextInputValue');
|
|
147
|
-
const compositeTextInputByPlaceholder = view.getByPlaceholderText(
|
|
148
|
-
'TextInputPlaceholder'
|
|
149
|
-
);
|
|
150
|
-
|
|
151
|
-
const hostTextInput = view.getByTestId('textInput');
|
|
152
|
-
expect(getHostSelves(compositeTextInputByValue)).toEqual([hostTextInput]);
|
|
153
|
-
expect(getHostSelves(compositeTextInputByPlaceholder)).toEqual([
|
|
154
|
-
hostTextInput,
|
|
155
|
-
]);
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
test('returns host children for custom composite components', () => {
|
|
159
|
-
const view = render(
|
|
160
|
-
<View testID="parent">
|
|
161
|
-
<ZeroHostChildren />
|
|
162
|
-
<MultipleHostChildren />
|
|
163
|
-
<View testID="sibling" />
|
|
164
|
-
</View>
|
|
165
|
-
);
|
|
166
|
-
|
|
167
|
-
const zeroCompositeComponent = view.UNSAFE_getByType(ZeroHostChildren);
|
|
168
|
-
expect(getHostSelves(zeroCompositeComponent)).toEqual([]);
|
|
169
|
-
|
|
170
|
-
const multipleCompositeComponent =
|
|
171
|
-
view.UNSAFE_getByType(MultipleHostChildren);
|
|
172
|
-
const hostChild1 = view.getByTestId('child1');
|
|
173
|
-
const hostChild2 = view.getByTestId('child2');
|
|
174
|
-
const hostChild3 = view.getByTestId('child3');
|
|
175
|
-
expect(getHostSelves(multipleCompositeComponent)).toEqual([
|
|
176
|
-
hostChild1,
|
|
177
|
-
hostChild2,
|
|
178
|
-
hostChild3,
|
|
179
|
-
]);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
describe('getHostSiblings()', () => {
|
|
184
|
-
it('returns host siblings for host component', () => {
|
|
185
|
-
const view = render(
|
|
186
|
-
<View testID="grandparent">
|
|
187
|
-
<View testID="parent">
|
|
188
|
-
<View testID="siblingBefore" />
|
|
189
|
-
<View testID="subject" />
|
|
190
|
-
<View testID="siblingAfter" />
|
|
191
|
-
<MultipleHostChildren />
|
|
192
|
-
</View>
|
|
193
|
-
</View>
|
|
194
|
-
);
|
|
195
|
-
|
|
196
|
-
const hostSiblings = getHostSiblings(view.getByTestId('subject'));
|
|
197
|
-
expect(hostSiblings).toEqual([
|
|
198
|
-
view.getByTestId('siblingBefore'),
|
|
199
|
-
view.getByTestId('siblingAfter'),
|
|
200
|
-
view.getByTestId('child1'),
|
|
201
|
-
view.getByTestId('child2'),
|
|
202
|
-
view.getByTestId('child3'),
|
|
203
|
-
]);
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
it('returns host siblings for composite component', () => {
|
|
207
|
-
const view = render(
|
|
208
|
-
<View testID="grandparent">
|
|
209
|
-
<View testID="parent">
|
|
210
|
-
<View testID="siblingBefore" />
|
|
211
|
-
<View testID="subject" />
|
|
212
|
-
<View testID="siblingAfter" />
|
|
213
|
-
<MultipleHostChildren />
|
|
214
|
-
</View>
|
|
215
|
-
</View>
|
|
216
|
-
);
|
|
217
|
-
|
|
218
|
-
const compositeComponent = view.UNSAFE_getByType(MultipleHostChildren);
|
|
219
|
-
const hostSiblings = getHostSiblings(compositeComponent);
|
|
220
|
-
expect(hostSiblings).toEqual([
|
|
221
|
-
view.getByTestId('siblingBefore'),
|
|
222
|
-
view.getByTestId('subject'),
|
|
223
|
-
view.getByTestId('siblingAfter'),
|
|
224
|
-
]);
|
|
225
|
-
});
|
|
226
|
-
});
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { ReactTestRendererJSON } from 'react-test-renderer';
|
|
2
|
-
import { defaultMapProps } from '../format-default';
|
|
3
|
-
|
|
4
|
-
const node: ReactTestRendererJSON = {
|
|
5
|
-
type: 'View',
|
|
6
|
-
props: {},
|
|
7
|
-
children: null,
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
describe('mapPropsForQueryError', () => {
|
|
11
|
-
test('preserves props that are helpful for debugging', () => {
|
|
12
|
-
const props = {
|
|
13
|
-
accessibilityElementsHidden: true,
|
|
14
|
-
accessibilityViewIsModal: true,
|
|
15
|
-
importantForAccessibility: 'yes',
|
|
16
|
-
testID: 'TEST_ID',
|
|
17
|
-
nativeID: 'NATIVE_ID',
|
|
18
|
-
accessibilityLabel: 'LABEL',
|
|
19
|
-
accessibilityLabelledBy: 'LABELLED_BY',
|
|
20
|
-
accessibilityRole: 'ROLE',
|
|
21
|
-
accessibilityHint: 'HINT',
|
|
22
|
-
placeholder: 'PLACEHOLDER',
|
|
23
|
-
value: 'VALUE',
|
|
24
|
-
defaultValue: 'DEFAULT_VALUE',
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const result = defaultMapProps(props, node);
|
|
28
|
-
|
|
29
|
-
expect(result).toStrictEqual(props);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test('does not preserve less helpful props', () => {
|
|
33
|
-
const result = defaultMapProps(
|
|
34
|
-
{
|
|
35
|
-
style: [{ flex: 1 }, { display: 'flex' }],
|
|
36
|
-
onPress: () => null,
|
|
37
|
-
key: 'foo',
|
|
38
|
-
},
|
|
39
|
-
node
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
expect(result).toStrictEqual({});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test('preserves "display: none" style but no other style', () => {
|
|
46
|
-
const result = defaultMapProps(
|
|
47
|
-
{ style: [{ flex: 1 }, { display: 'none', flex: 2 }] },
|
|
48
|
-
node
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
expect(result).toStrictEqual({
|
|
52
|
-
style: { display: 'none' },
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
test('removes undefined keys from accessibilityState', () => {
|
|
57
|
-
const result = defaultMapProps(
|
|
58
|
-
{ accessibilityState: { checked: undefined, selected: false } },
|
|
59
|
-
node
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
expect(result).toStrictEqual({
|
|
63
|
-
accessibilityState: { selected: false },
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
test('removes accessibilityState if all keys are undefined', () => {
|
|
68
|
-
const result = defaultMapProps(
|
|
69
|
-
{ accessibilityState: { checked: undefined, selected: undefined } },
|
|
70
|
-
node
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
expect(result).toStrictEqual({});
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
test('does not fail if accessibilityState is a string, passes through', () => {
|
|
77
|
-
const result = defaultMapProps({ accessibilityState: 'foo' }, node);
|
|
78
|
-
expect(result).toStrictEqual({ accessibilityState: 'foo' });
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
test('does not fail if accessibilityState is an array, passes through', () => {
|
|
82
|
-
const result = defaultMapProps({ accessibilityState: [1] }, node);
|
|
83
|
-
expect(result).toStrictEqual({ accessibilityState: [1] });
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
test('does not fail if accessibilityState is null, passes through', () => {
|
|
87
|
-
const result = defaultMapProps({ accessibilityState: null }, node);
|
|
88
|
-
expect(result).toStrictEqual({ accessibilityState: null });
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
test('does not fail if accessibilityState is nested object, passes through', () => {
|
|
92
|
-
const accessibilityState = { 1: { 2: 3 }, 2: undefined };
|
|
93
|
-
const result = defaultMapProps({ accessibilityState }, node);
|
|
94
|
-
expect(result).toStrictEqual({ accessibilityState: { 1: { 2: 3 } } });
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
test('removes undefined keys from accessibilityValue', () => {
|
|
98
|
-
const result = defaultMapProps(
|
|
99
|
-
{ accessibilityValue: { min: 1, max: undefined } },
|
|
100
|
-
node
|
|
101
|
-
);
|
|
102
|
-
|
|
103
|
-
expect(result).toStrictEqual({ accessibilityValue: { min: 1 } });
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
test('removes accessibilityValue if all keys are undefined', () => {
|
|
107
|
-
const result = defaultMapProps(
|
|
108
|
-
{ accessibilityValue: { min: undefined } },
|
|
109
|
-
node
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
expect(result).toStrictEqual({});
|
|
113
|
-
});
|
|
114
|
-
});
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Text } from 'react-native';
|
|
3
|
-
import render from '../../render';
|
|
4
|
-
import { getTextContent } from '../getTextContent';
|
|
5
|
-
|
|
6
|
-
test('getTextContent with simple content', () => {
|
|
7
|
-
const view = render(<Text>Hello world</Text>);
|
|
8
|
-
expect(getTextContent(view.root)).toBe('Hello world');
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
test('getTextContent with null element', () => {
|
|
12
|
-
expect(getTextContent(null)).toBe('');
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test('getTextContent with single nested content', () => {
|
|
16
|
-
const view = render(
|
|
17
|
-
<Text>
|
|
18
|
-
<Text>Hello world</Text>
|
|
19
|
-
</Text>
|
|
20
|
-
);
|
|
21
|
-
expect(getTextContent(view.root)).toBe('Hello world');
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test('getTextContent with multiple nested content', () => {
|
|
25
|
-
const view = render(
|
|
26
|
-
<Text>
|
|
27
|
-
<Text>Hello</Text> <Text>world</Text>
|
|
28
|
-
</Text>
|
|
29
|
-
);
|
|
30
|
-
expect(getTextContent(view.root)).toBe('Hello world');
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test('getTextContent with multiple number content', () => {
|
|
34
|
-
const view = render(
|
|
35
|
-
<Text>
|
|
36
|
-
<Text>Hello</Text> <Text>world</Text> <Text>{100}</Text>
|
|
37
|
-
</Text>
|
|
38
|
-
);
|
|
39
|
-
expect(getTextContent(view.root)).toBe('Hello world 100');
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
test('getTextContent with multiple boolean content', () => {
|
|
43
|
-
const view = render(
|
|
44
|
-
<Text>
|
|
45
|
-
<Text>Hello{false}</Text> <Text>{true}world</Text>
|
|
46
|
-
</Text>
|
|
47
|
-
);
|
|
48
|
-
expect(getTextContent(view.root)).toBe('Hello world');
|
|
49
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import { configure, render, screen } from '../..';
|
|
4
|
-
|
|
5
|
-
test('includeHiddenElements query option takes priority over hidden option and global config', () => {
|
|
6
|
-
configure({ defaultHidden: true, defaultIncludeHiddenElements: true });
|
|
7
|
-
render(<View testID="view" style={{ display: 'none' }} />);
|
|
8
|
-
expect(
|
|
9
|
-
screen.queryByTestId('view', { includeHiddenElements: false, hidden: true })
|
|
10
|
-
).toBeFalsy();
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
test('hidden option takes priority over global config when includeHiddenElements is not defined', () => {
|
|
14
|
-
configure({ defaultHidden: true, defaultIncludeHiddenElements: true });
|
|
15
|
-
render(<View testID="view" style={{ display: 'none' }} />);
|
|
16
|
-
expect(screen.queryByTestId('view', { hidden: false })).toBeFalsy();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test('global config defaultIncludeElements option takes priority over defaultHidden when set at the same time', () => {
|
|
20
|
-
configure({ defaultHidden: false, defaultIncludeHiddenElements: true });
|
|
21
|
-
render(<View testID="view" style={{ display: 'none' }} />);
|
|
22
|
-
expect(screen.getByTestId('view')).toBeTruthy();
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
test('defaultHidden takes priority when it was set last', () => {
|
|
26
|
-
// also simulates the case when defaultIncludeHiddenElements is true by default in the config
|
|
27
|
-
configure({ defaultIncludeHiddenElements: true });
|
|
28
|
-
configure({ defaultHidden: false });
|
|
29
|
-
render(<View testID="view" style={{ display: 'none' }} />);
|
|
30
|
-
expect(screen.queryByTestId('view')).toBeFalsy();
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test('defaultIncludeHiddenElements takes priority when it was set last', () => {
|
|
34
|
-
// also simulates the case when defaultHidden is true by default in the config
|
|
35
|
-
configure({ defaultHidden: true });
|
|
36
|
-
configure({ defaultIncludeHiddenElements: false });
|
|
37
|
-
render(<View testID="view" style={{ display: 'none' }} />);
|
|
38
|
-
expect(screen.queryByTestId('view')).toBeFalsy();
|
|
39
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { getQueryPrefix } from '../query-name';
|
|
2
|
-
|
|
3
|
-
test('getQueryPrefix should return correct prefix', () => {
|
|
4
|
-
expect(getQueryPrefix('getByRole')).toBe('get');
|
|
5
|
-
expect(getQueryPrefix('getAllByText')).toEqual('getAll');
|
|
6
|
-
expect(getQueryPrefix('queryByTestId')).toEqual('query');
|
|
7
|
-
expect(getQueryPrefix('queryAllByPlaceholderText')).toEqual('queryAll');
|
|
8
|
-
expect(getQueryPrefix('findByHintText')).toEqual('find');
|
|
9
|
-
expect(getQueryPrefix('findAllByDisplayValue')).toEqual('findAll');
|
|
10
|
-
});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jestFakeTimersAreEnabled } from '../timers';
|
|
2
|
-
describe('timers', () => {
|
|
3
|
-
it('should not mock timers if RNTL_SKIP_AUTO_DETECT_FAKE_TIMERS is set', async () => {
|
|
4
|
-
process.env.RNTL_SKIP_AUTO_DETECT_FAKE_TIMERS = 'true';
|
|
5
|
-
jest.useFakeTimers();
|
|
6
|
-
expect(jestFakeTimersAreEnabled()).toEqual(false);
|
|
7
|
-
});
|
|
8
|
-
});
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AccessibilityState,
|
|
3
|
-
AccessibilityValue,
|
|
4
|
-
StyleSheet,
|
|
5
|
-
} from 'react-native';
|
|
6
|
-
import { ReactTestInstance } from 'react-test-renderer';
|
|
7
|
-
import { getHostSiblings } from './component-tree';
|
|
8
|
-
import { getHostComponentNames } from './host-component-names';
|
|
9
|
-
|
|
10
|
-
type IsInaccessibleOptions = {
|
|
11
|
-
cache?: WeakMap<ReactTestInstance, boolean>;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export const accessibilityStateKeys: (keyof AccessibilityState)[] = [
|
|
15
|
-
'disabled',
|
|
16
|
-
'selected',
|
|
17
|
-
'checked',
|
|
18
|
-
'busy',
|
|
19
|
-
'expanded',
|
|
20
|
-
];
|
|
21
|
-
|
|
22
|
-
export const accessiblityValueKeys: (keyof AccessibilityValue)[] = [
|
|
23
|
-
'min',
|
|
24
|
-
'max',
|
|
25
|
-
'now',
|
|
26
|
-
'text',
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
export function isHiddenFromAccessibility(
|
|
30
|
-
element: ReactTestInstance | null,
|
|
31
|
-
{ cache }: IsInaccessibleOptions = {}
|
|
32
|
-
): boolean {
|
|
33
|
-
if (element == null) {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
let current: ReactTestInstance | null = element;
|
|
38
|
-
while (current) {
|
|
39
|
-
let isCurrentSubtreeInaccessible = cache?.get(current);
|
|
40
|
-
|
|
41
|
-
if (isCurrentSubtreeInaccessible === undefined) {
|
|
42
|
-
isCurrentSubtreeInaccessible = isSubtreeInaccessible(current);
|
|
43
|
-
cache?.set(current, isCurrentSubtreeInaccessible);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (isCurrentSubtreeInaccessible) {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
current = current.parent;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/** RTL-compatitibility alias for `isHiddenFromAccessibility` */
|
|
57
|
-
export const isInaccessible = isHiddenFromAccessibility;
|
|
58
|
-
|
|
59
|
-
function isSubtreeInaccessible(element: ReactTestInstance): boolean {
|
|
60
|
-
// Null props can happen for React.Fragments
|
|
61
|
-
if (element.props == null) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// iOS: accessibilityElementsHidden
|
|
66
|
-
// See: https://reactnative.dev/docs/accessibility#accessibilityelementshidden-ios
|
|
67
|
-
if (element.props.accessibilityElementsHidden) {
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// Android: importantForAccessibility
|
|
72
|
-
// See: https://reactnative.dev/docs/accessibility#importantforaccessibility-android
|
|
73
|
-
if (element.props.importantForAccessibility === 'no-hide-descendants') {
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// Note that `opacity: 0` is not treated as inaccessible on iOS
|
|
78
|
-
const flatStyle = StyleSheet.flatten(element.props.style) ?? {};
|
|
79
|
-
if (flatStyle.display === 'none') return true;
|
|
80
|
-
|
|
81
|
-
// iOS: accessibilityViewIsModal
|
|
82
|
-
// See: https://reactnative.dev/docs/accessibility#accessibilityviewismodal-ios
|
|
83
|
-
const hostSiblings = getHostSiblings(element);
|
|
84
|
-
if (hostSiblings.some((sibling) => sibling.props.accessibilityViewIsModal)) {
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export function isAccessibilityElement(
|
|
92
|
-
element: ReactTestInstance | null
|
|
93
|
-
): boolean {
|
|
94
|
-
if (element == null) {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (element.props.accessible !== undefined) {
|
|
99
|
-
return element.props.accessible;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const hostComponentNames = getHostComponentNames();
|
|
103
|
-
return (
|
|
104
|
-
element?.type === hostComponentNames?.text ||
|
|
105
|
-
element?.type === hostComponentNames?.textInput ||
|
|
106
|
-
element?.type === hostComponentNames?.switch
|
|
107
|
-
);
|
|
108
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { ReactTestInstance } from 'react-test-renderer';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Checks if the given element is a host element.
|
|
5
|
-
* @param element The element to check.
|
|
6
|
-
*/
|
|
7
|
-
export function isHostElement(element?: ReactTestInstance | null) {
|
|
8
|
-
return typeof element?.type === 'string';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Returns first host ancestor for given element.
|
|
13
|
-
* @param element The element start traversing from.
|
|
14
|
-
*/
|
|
15
|
-
export function getHostParent(
|
|
16
|
-
element: ReactTestInstance | null
|
|
17
|
-
): ReactTestInstance | null {
|
|
18
|
-
if (element == null) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
let current = element.parent;
|
|
23
|
-
while (current) {
|
|
24
|
-
if (isHostElement(current)) {
|
|
25
|
-
return current;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
current = current.parent;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Returns host children for given element.
|
|
36
|
-
* @param element The element start traversing from.
|
|
37
|
-
*/
|
|
38
|
-
export function getHostChildren(
|
|
39
|
-
element: ReactTestInstance | null
|
|
40
|
-
): ReactTestInstance[] {
|
|
41
|
-
if (element == null) {
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const hostChildren: ReactTestInstance[] = [];
|
|
46
|
-
|
|
47
|
-
element.children.forEach((child) => {
|
|
48
|
-
if (typeof child !== 'object') {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (isHostElement(child)) {
|
|
53
|
-
hostChildren.push(child);
|
|
54
|
-
} else {
|
|
55
|
-
hostChildren.push(...getHostChildren(child));
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
return hostChildren;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Return the array of host elements that represent the passed element.
|
|
64
|
-
*
|
|
65
|
-
* @param element The element start traversing from.
|
|
66
|
-
* @returns If the passed element is a host element, it will return an array containing only that element,
|
|
67
|
-
* if the passed element is a composite element, it will return an array containing its host children (zero, one or many).
|
|
68
|
-
*/
|
|
69
|
-
export function getHostSelves(
|
|
70
|
-
element: ReactTestInstance | null
|
|
71
|
-
): ReactTestInstance[] {
|
|
72
|
-
return typeof element?.type === 'string'
|
|
73
|
-
? [element]
|
|
74
|
-
: getHostChildren(element);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Returns host siblings for given element.
|
|
79
|
-
* @param element The element start traversing from.
|
|
80
|
-
*/
|
|
81
|
-
export function getHostSiblings(
|
|
82
|
-
element: ReactTestInstance | null
|
|
83
|
-
): ReactTestInstance[] {
|
|
84
|
-
const hostParent = getHostParent(element);
|
|
85
|
-
const hostSelves = getHostSelves(element);
|
|
86
|
-
return getHostChildren(hostParent).filter(
|
|
87
|
-
(sibling) => !hostSelves.includes(sibling)
|
|
88
|
-
);
|
|
89
|
-
}
|
package/src/helpers/debugDeep.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ReactTestRendererJSON } from 'react-test-renderer';
|
|
2
|
-
import format, { FormatOptions } from './format';
|
|
3
|
-
|
|
4
|
-
export type DebugOptions = {
|
|
5
|
-
message?: string;
|
|
6
|
-
} & FormatOptions;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Log pretty-printed deep test component instance
|
|
10
|
-
*/
|
|
11
|
-
export default function debugDeep(
|
|
12
|
-
instance: ReactTestRendererJSON | ReactTestRendererJSON[],
|
|
13
|
-
options?: DebugOptions | string
|
|
14
|
-
) {
|
|
15
|
-
const message = typeof options === 'string' ? options : options?.message;
|
|
16
|
-
|
|
17
|
-
const formatOptions =
|
|
18
|
-
typeof options === 'object' ? { mapProps: options?.mapProps } : undefined;
|
|
19
|
-
|
|
20
|
-
if (message) {
|
|
21
|
-
// eslint-disable-next-line no-console
|
|
22
|
-
console.log(`${message}\n\n`, format(instance, formatOptions));
|
|
23
|
-
} else {
|
|
24
|
-
// eslint-disable-next-line no-console
|
|
25
|
-
console.log(format(instance, formatOptions));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import type { ReactTestInstance } from 'react-test-renderer';
|
|
3
|
-
import { shallowInternal } from '../shallow';
|
|
4
|
-
import format from './format';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Log pretty-printed shallow test component instance
|
|
8
|
-
*/
|
|
9
|
-
export default function debugShallow(
|
|
10
|
-
instance: ReactTestInstance | React.ReactElement<any>,
|
|
11
|
-
message?: string
|
|
12
|
-
) {
|
|
13
|
-
const { output } = shallowInternal(instance);
|
|
14
|
-
|
|
15
|
-
if (message) {
|
|
16
|
-
// eslint-disable-next-line no-console
|
|
17
|
-
console.log(`${message}\n\n`, format(output));
|
|
18
|
-
} else {
|
|
19
|
-
// eslint-disable-next-line no-console
|
|
20
|
-
console.log(format(output));
|
|
21
|
-
}
|
|
22
|
-
}
|