mirror of
https://github.com/callstack/react-native-testing-library.git
synced 2026-09-18 23:09:04 +08:00
fix: nightly RN 0.88
This commit is contained in:
@@ -5,13 +5,13 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- name: Cache deps
|
||||
id: yarn-cache
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: |
|
||||
./node_modules
|
||||
|
||||
@@ -5,13 +5,13 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- name: Cache deps
|
||||
id: yarn-cache
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: |
|
||||
./node_modules
|
||||
@@ -31,4 +31,7 @@ runs:
|
||||
yarn add -D react-native@latest \
|
||||
@react-native/babel-preset@latest \
|
||||
@react-native/jest-preset@latest
|
||||
# RN 0.85+ ships the Jest preset as a standalone package, so point the
|
||||
# config at it instead of the `react-native`-bundled preset (RN 0.84).
|
||||
sed -i "s|preset: 'react-native'|preset: '@react-native/jest-preset'|" jest.config.js
|
||||
shell: bash
|
||||
|
||||
@@ -5,13 +5,13 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- name: Cache deps
|
||||
id: yarn-cache
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: |
|
||||
./node_modules
|
||||
@@ -31,4 +31,7 @@ runs:
|
||||
yarn add -D react-native@next \
|
||||
@react-native/babel-preset@next \
|
||||
@react-native/jest-preset@next
|
||||
# RN 0.85+ ships the Jest preset as a standalone package, so point the
|
||||
# config at it instead of the `react-native`-bundled preset (RN 0.84).
|
||||
sed -i "s|preset: 'react-native'|preset: '@react-native/jest-preset'|" jest.config.js
|
||||
shell: bash
|
||||
|
||||
@@ -5,13 +5,13 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- name: Cache deps
|
||||
id: yarn-cache
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: |
|
||||
./node_modules
|
||||
@@ -32,4 +32,7 @@ runs:
|
||||
react-native@nightly \
|
||||
@react-native/babel-preset@nightly \
|
||||
@react-native/jest-preset@nightly
|
||||
# RN 0.85+ ships the Jest preset as a standalone package, so point the
|
||||
# config at it instead of the `react-native`-bundled preset (RN 0.84).
|
||||
sed -i "s|preset: 'react-native'|preset: '@react-native/jest-preset'|" jest.config.js
|
||||
shell: bash
|
||||
|
||||
@@ -5,13 +5,13 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- name: Cache deps
|
||||
id: yarn-cache
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: |
|
||||
./node_modules
|
||||
|
||||
@@ -5,13 +5,13 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- name: Cache website deps
|
||||
id: yarn-cache-website
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: |
|
||||
./website/node_modules
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
name: Lint
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
name: Typecheck
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
name: Typecheck React 18
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-react-18
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
name: Test
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
run: yarn test:ci:coverage
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
|
||||
uses: codecov/codecov-action@e53489f4d376d79066609109e7a95a29eb3740b1 # v7.0.0
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
@@ -79,7 +79,7 @@ jobs:
|
||||
name: Test React 18
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-react-18
|
||||
|
||||
@@ -23,10 +23,10 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: 24
|
||||
cache: 'yarn'
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
name: Lint
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-latest
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
name: Typecheck
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-latest
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
name: Test
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-latest
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
name: Lint
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-next
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
name: Typecheck
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-next
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
name: Test
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-next
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
name: Lint
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-nightly
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
name: Typecheck
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-nightly
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
name: Test
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and deps
|
||||
uses: ./.github/actions/setup-deps-rn-nightly
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
name: Test Website
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and website deps
|
||||
uses: ./.github/actions/setup-website-deps
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
|
||||
- name: Setup Node.js and website deps
|
||||
uses: ./.github/actions/setup-website-deps
|
||||
|
||||
@@ -70,7 +70,7 @@ export function defaultMapProps(props: Record<string, unknown>): Record<string,
|
||||
return result;
|
||||
}
|
||||
|
||||
function extractStyle(style: ViewStyle | undefined) {
|
||||
function extractStyle(style: ViewStyle | null | undefined) {
|
||||
if (style == null) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
@@ -159,7 +159,8 @@ test.each([
|
||||
['TouchableNativeFeedback', TouchableNativeFeedback],
|
||||
] as const)('toBeDisabled()/toBeEnabled() supports %s with "disabled" prop', (_, Component) => {
|
||||
render(
|
||||
// @ts-expect-error - JSX element type 'Component' does not have any construct or call signatures.
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore - JSX element type 'Component' does not have any construct or call signatures.
|
||||
<Component disabled testID="subject">
|
||||
<Text>Button</Text>
|
||||
</Component>,
|
||||
@@ -191,7 +192,8 @@ test.each([
|
||||
'toBeDisabled()/toBeEnabled() supports %s with "aria-disabled" prop',
|
||||
(_, Component) => {
|
||||
render(
|
||||
// @ts-expect-error - JSX element type 'Component' does not have any construct or call signatures.
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore - JSX element type 'Component' does not have any construct or call signatures.
|
||||
<Component testID="subject" aria-disabled>
|
||||
<Text>Hello</Text>
|
||||
</Component>,
|
||||
@@ -218,7 +220,8 @@ test.each([
|
||||
'toBeDisabled()/toBeEnabled() supports %s with "accessibilityState.disabled" prop',
|
||||
(_, Component) => {
|
||||
render(
|
||||
// @ts-expect-error - JSX element type 'Component' does not have any construct or call signatures.
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore - JSX element type 'Component' does not have any construct or call signatures.
|
||||
<Component testID="subject" accessibilityState={{ disabled: true }}>
|
||||
<Text>Hello</Text>
|
||||
</Component>,
|
||||
|
||||
@@ -193,11 +193,10 @@ describe('userEvent.longPress with fake timers', () => {
|
||||
const user = userEvent.setup();
|
||||
|
||||
const compositeView = screen.getByTestId('view').parent as ReactTestInstance;
|
||||
await expect(user.longPress(compositeView)).rejects.toThrowErrorMatchingInlineSnapshot(`
|
||||
"longPress() works only with host elements. Passed element has type "function Component() {
|
||||
(0, _classCallCheck2.default)(this, Component);
|
||||
return _callSuper(this, Component, arguments);
|
||||
}"."
|
||||
`);
|
||||
// The stringified component type varies across React Native versions, so we
|
||||
// only assert the stable prefix of the error message.
|
||||
await expect(user.longPress(compositeView)).rejects.toThrow(
|
||||
/^longPress\(\) works only with host elements\. Passed element has type/,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -353,12 +353,11 @@ describe('userEvent.press with fake timers', () => {
|
||||
const user = userEvent.setup();
|
||||
|
||||
const compositeView = screen.getByTestId('view').parent as ReactTestInstance;
|
||||
await expect(user.press(compositeView)).rejects.toThrowErrorMatchingInlineSnapshot(`
|
||||
"press() works only with host elements. Passed element has type "function Component() {
|
||||
(0, _classCallCheck2.default)(this, Component);
|
||||
return _callSuper(this, Component, arguments);
|
||||
}"."
|
||||
`);
|
||||
// The stringified component type varies across React Native versions, so we
|
||||
// only assert the stable prefix of the error message.
|
||||
await expect(user.press(compositeView)).rejects.toThrow(
|
||||
/^press\(\) works only with host elements\. Passed element has type/,
|
||||
);
|
||||
});
|
||||
|
||||
test('disables act environmennt', async () => {
|
||||
|
||||
+3
-2
@@ -7,8 +7,9 @@
|
||||
"jsx": "react",
|
||||
"target": "ES2022",
|
||||
"lib": ["ES2022", "DOM"],
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"module": "preserve",
|
||||
"moduleResolution": "bundler",
|
||||
"types": ["jest", "node"],
|
||||
"declaration": true,
|
||||
"noEmit": true,
|
||||
"outDir": "build"
|
||||
|
||||
Reference in New Issue
Block a user