diff --git a/jest-setup.ts b/jest-setup.ts index 868f7ba89..361b61d21 100644 --- a/jest-setup.ts +++ b/jest-setup.ts @@ -1,3 +1,5 @@ +//docs.swmansion.com/react-native-gesture-handler/docs/guides/testing +import 'react-native-gesture-handler/jestSetup'; import { resetToDefaults, configure } from './src/pure'; import './src/matchers/extend-expect'; diff --git a/package.json b/package.json index fba78b96e..655a8c878 100644 --- a/package.json +++ b/package.json @@ -88,6 +88,7 @@ "prettier": "^2.8.8", "react": "18.3.1", "react-native": "0.77.0-rc.0", + "react-native-gesture-handler": "^2.22.0", "react-test-renderer": "18.3.1", "release-it": "^18.0.0", "typescript": "^5.6.3", diff --git a/src/__tests__/react-native-gesture-handler.test.tsx b/src/__tests__/react-native-gesture-handler.test.tsx new file mode 100644 index 000000000..7e3ada8d9 --- /dev/null +++ b/src/__tests__/react-native-gesture-handler.test.tsx @@ -0,0 +1,52 @@ +import * as React from 'react'; +import { Text } from 'react-native'; +import { GestureHandlerRootView, Pressable } from 'react-native-gesture-handler'; +import { render, screen } from '../pure'; + +test('GestureHandler Pressable', () => { + const onPress = jest.fn(); + + render( + + + Hello + + , + , + ); + + expect(screen.toJSON()).toMatchInlineSnapshot(` + + + + Hello + + + , + + `); +}); diff --git a/yarn.lock b/yarn.lock index 1b7adfb2f..4300beaff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1601,6 +1601,15 @@ __metadata: languageName: node linkType: hard +"@egjs/hammerjs@npm:^2.0.17": + version: 2.0.17 + resolution: "@egjs/hammerjs@npm:2.0.17" + dependencies: + "@types/hammerjs": "npm:^2.0.36" + checksum: 10c0/dbedc15a0e633f887c08394bd636faf6a3abd05726dc0909a0e01209d5860a752d9eca5e512da623aecfabe665f49f1d035de3103eb2f9022c5cea692f9cc9be + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.1 resolution: "@eslint-community/eslint-utils@npm:4.4.1" @@ -2803,6 +2812,7 @@ __metadata: pretty-format: "npm:^29.7.0" react: "npm:18.3.1" react-native: "npm:0.77.0-rc.0" + react-native-gesture-handler: "npm:^2.22.0" react-test-renderer: "npm:18.3.1" redent: "npm:^3.0.0" release-it: "npm:^18.0.0" @@ -2883,6 +2893,13 @@ __metadata: languageName: node linkType: hard +"@types/hammerjs@npm:^2.0.36": + version: 2.0.46 + resolution: "@types/hammerjs@npm:2.0.46" + checksum: 10c0/f3c1cb20dc2f0523f7b8c76065078544d50d8ae9b0edc1f62fed657210ed814266ff2dfa835d2c157a075991001eec3b64c88bf92e3e6e895c0db78d05711d06 + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" @@ -6093,6 +6110,15 @@ __metadata: languageName: node linkType: hard +"hoist-non-react-statics@npm:^3.3.0": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + "hosted-git-info@npm:^7.0.0": version: 7.0.2 resolution: "hosted-git-info@npm:7.0.2" @@ -9188,13 +9214,27 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1": +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 languageName: node linkType: hard +"react-native-gesture-handler@npm:^2.22.0": + version: 2.22.0 + resolution: "react-native-gesture-handler@npm:2.22.0" + dependencies: + "@egjs/hammerjs": "npm:^2.0.17" + hoist-non-react-statics: "npm:^3.3.0" + invariant: "npm:^2.2.4" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/2a696261c1724f1fc10ebee6d5c187e6a8386754b87277eb7d81b2ef8a0d19245b0a41e80c86d0444a48d858fb08affb1fa7deecde8e3e965a6b356d353961b8 + languageName: node + linkType: hard + "react-native@npm:0.77.0-rc.0": version: 0.77.0-rc.0 resolution: "react-native@npm:0.77.0-rc.0"