From bd6b84b86c6204ceac90d448222d736b122e0d22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Jastrze=CC=A8bski?= Date: Mon, 4 May 2026 11:30:05 +0200 Subject: [PATCH 1/2] fix: fix RN nightly tests by removing RNGH tests --- jest.config.js | 4 +- package.json | 1 - src/__tests__/fire-event.test.tsx | 35 +++ .../react-native-gesture-handler.test.tsx | 65 ----- .../press/__tests__/longPress.test.tsx | 24 +- src/user-event/press/__tests__/press.test.tsx | 22 ++ yarn.lock | 244 ++++++++---------- 7 files changed, 186 insertions(+), 209 deletions(-) delete mode 100644 src/__tests__/react-native-gesture-handler.test.tsx diff --git a/jest.config.js b/jest.config.js index 74705440d..7fc0efeb7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,9 +3,7 @@ module.exports = { setupFilesAfterEnv: ['./jest-setup.ts'], testPathIgnorePatterns: ['build/', 'examples/', 'experiments-app/', 'codemods/'], testTimeout: 60000, - transformIgnorePatterns: [ - '/node_modules/(?!(@react-native|react-native|react-native-gesture-handler)/).*/', - ], + transformIgnorePatterns: ['/node_modules/(?!(@react-native|react-native)/).*/'], snapshotSerializers: ['@relmify/jest-serializer-strip-ansi/always'], clearMocks: true, collectCoverageFrom: [ diff --git a/package.json b/package.json index f68b73aa0..e5cae3452 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,6 @@ "prettier": "^3.8.2", "react": "19.2.3", "react-native": "0.85.0", - "react-native-gesture-handler": "^2.31.1", "release-it": "^19.2.4", "test-renderer": "1.2.0", "tsx": "^4.21.0", diff --git a/src/__tests__/fire-event.test.tsx b/src/__tests__/fire-event.test.tsx index bef18dc74..84dbc82f5 100644 --- a/src/__tests__/fire-event.test.tsx +++ b/src/__tests__/fire-event.test.tsx @@ -152,6 +152,41 @@ describe('fireEvent.press', () => { await fireEvent.press(screen.getByTestId('subject')); expect(onPress).toHaveBeenCalled(); }); + + test('works with testOnly_onPress handlers', async () => { + const onPress = jest.fn(); + const onPressIn = jest.fn(); + const onPressOut = jest.fn(); + const onLongPress = jest.fn(); + + await render( + , + ); + + const subject = screen.getByTestId('subject'); + + await fireEvent.press(subject); + expect(onPress).toHaveBeenCalledTimes(1); + + await fireEvent(subject, 'pressIn'); + expect(onPressIn).toHaveBeenCalledTimes(1); + + await fireEvent(subject, 'pressOut'); + expect(onPressOut).toHaveBeenCalledTimes(1); + + await fireEvent(subject, 'longPress'); + expect(onLongPress).toHaveBeenCalledTimes(1); + }); }); describe('fireEvent.changeText', () => { diff --git a/src/__tests__/react-native-gesture-handler.test.tsx b/src/__tests__/react-native-gesture-handler.test.tsx deleted file mode 100644 index 3fc17f588..000000000 --- a/src/__tests__/react-native-gesture-handler.test.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import 'react-native-gesture-handler/jestSetup.js'; -import React from 'react'; -import { View } from 'react-native'; -import { Pressable } from 'react-native-gesture-handler'; - -import { fireEvent, render, screen, userEvent } from '..'; -import { createEventLogger, getEventsNames } from '../test-utils/events'; - -test('fireEvent can invoke press events for RNGH Pressable', async () => { - const onPress = jest.fn(); - const onPressIn = jest.fn(); - const onPressOut = jest.fn(); - const onLongPress = jest.fn(); - - await render( - - - , - ); - - const pressable = screen.getByTestId('pressable'); - - await fireEvent.press(pressable); - expect(onPress).toHaveBeenCalled(); - - await fireEvent(pressable, 'pressIn'); - expect(onPressIn).toHaveBeenCalled(); - - await fireEvent(pressable, 'pressOut'); - expect(onPressOut).toHaveBeenCalled(); - - await fireEvent(pressable, 'longPress'); - expect(onLongPress).toHaveBeenCalled(); -}); - -test('userEvent can invoke press events for RNGH Pressable', async () => { - const { events, logEvent } = createEventLogger(); - const user = userEvent.setup(); - - await render( - - - , - ); - - const pressable = screen.getByTestId('pressable'); - await user.press(pressable); - - const eventSequence = getEventsNames(events).join(', '); - expect( - eventSequence === 'pressIn, pressOut, press' || eventSequence === 'pressIn, press, pressOut', - ).toBe(true); -}); diff --git a/src/user-event/press/__tests__/longPress.test.tsx b/src/user-event/press/__tests__/longPress.test.tsx index 23c31aae2..b36e12fc0 100644 --- a/src/user-event/press/__tests__/longPress.test.tsx +++ b/src/user-event/press/__tests__/longPress.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Pressable, Text, TouchableHighlight, TouchableOpacity } from 'react-native'; +import { Pressable, Text, TouchableHighlight, TouchableOpacity, View } from 'react-native'; import { render, screen } from '../../..'; import { createEventLogger, getEventsNames } from '../../../test-utils/events'; @@ -74,6 +74,28 @@ describe('userEvent.longPress with fake timers', () => { expect(getEventsNames(events)).toEqual(['pressIn', 'longPress', 'pressOut']); }); + test('works with testOnly_onPress handlers', async () => { + const { events, logEvent } = createEventLogger(); + const user = userEvent.setup(); + + await render( + , + ); + + await user.longPress(screen.getByTestId('subject')); + expect(getEventsNames(events)).toEqual(['pressIn', 'longPress', 'pressOut']); + }); + test('calls onLongPress if the delayLongPress is the default one', async () => { const { logEvent, events } = createEventLogger(); const user = userEvent.setup(); diff --git a/src/user-event/press/__tests__/press.test.tsx b/src/user-event/press/__tests__/press.test.tsx index 9b530f463..a94234ad8 100644 --- a/src/user-event/press/__tests__/press.test.tsx +++ b/src/user-event/press/__tests__/press.test.tsx @@ -97,6 +97,28 @@ describe('userEvent.press with fake timers', () => { expect(getEventsNames(events)).toEqual(['pressIn', 'pressOut']); }); + test('works with testOnly_onPress handlers', async () => { + const { events, logEvent } = createEventLogger(); + const user = userEvent.setup(); + + await render( + , + ); + + await user.press(screen.getByTestId('subject')); + expect(getEventsNames(events)).toEqual(['pressIn', 'pressOut', 'press']); + }); + test('works on Button', async () => { const { events, logEvent } = createEventLogger(); diff --git a/yarn.lock b/yarn.lock index a3b748a4d..8a0307eaa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1584,15 +1584,6 @@ __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 - "@emnapi/core@npm:^1.4.3": version: 1.9.2 resolution: "@emnapi/core@npm:1.9.2" @@ -3197,7 +3188,6 @@ __metadata: pretty-format: "npm:^30.3.0" react: "npm:19.2.3" react-native: "npm:0.85.0" - react-native-gesture-handler: "npm:^2.31.1" redent: "npm:^3.0.0" release-it: "npm:^19.2.4" test-renderer: "npm:1.2.0" @@ -3295,13 +3285,6 @@ __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, @types/istanbul-lib-coverage@npm:^2.0.6": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" @@ -3392,16 +3375,7 @@ __metadata: languageName: node linkType: hard -"@types/react-test-renderer@npm:^19.1.0": - version: 19.1.0 - resolution: "@types/react-test-renderer@npm:19.1.0" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/799654e430df10aeaf267d71507fb64ec151359ead7e3774111bfd4abce7e0911dba461811195c06c22a6d17496ea92537d3185320ff4112fe29954cad1b9152 - languageName: node - linkType: hard - -"@types/react@npm:*, @types/react@npm:^19.2.14": +"@types/react@npm:^19.2.14": version: 19.2.14 resolution: "@types/react@npm:19.2.14" dependencies: @@ -6554,6 +6528,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.35.0": + version: 0.35.0 + resolution: "hermes-estree@npm:0.35.0" + checksum: 10c0/a88c9dc63b8b3679b1aeb43e72e977597096c1bd7d59978c952f1d6df6d1a517c4a817c70b1b701854996b485adfa66c2fc7f80871029a7f0c04306f6717b59a + languageName: node + linkType: hard + "hermes-parser@npm:0.33.3": version: 0.33.3 resolution: "hermes-parser@npm:0.33.3" @@ -6563,12 +6544,12 @@ __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" +"hermes-parser@npm:0.35.0": + version: 0.35.0 + resolution: "hermes-parser@npm:0.35.0" dependencies: - react-is: "npm:^16.7.0" - checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + hermes-estree: "npm:0.35.0" + checksum: 10c0/49d98093a2094758db5b536627c6cf5146b140f66e63143acf471c62f1d3fd8bd6ae10a33f2372f72e3653deda5d4615c6dae89d01248849440916209901fc4a languageName: node linkType: hard @@ -8216,69 +8197,70 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.84.2": - version: 0.84.2 - resolution: "metro-babel-transformer@npm:0.84.2" +"metro-babel-transformer@npm:0.84.4": + version: 0.84.4 + resolution: "metro-babel-transformer@npm:0.84.4" dependencies: "@babel/core": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - hermes-parser: "npm:0.33.3" + hermes-parser: "npm:0.35.0" + metro-cache-key: "npm:0.84.4" nullthrows: "npm:^1.1.1" - checksum: 10c0/d77acf2f0010ac38f2c31d7565f5d6d02f5806eb9e2855ce2b17dc34e8ca972a9e6391d54159a57c3fedcc1ff6e99e2fd2dbd4f72df8a5c48f7078790b6bebe9 + checksum: 10c0/d1ac996666334bc1cfe9d399cbf4cd747b675f6f8f758c2317eebcc52bd76046ed864ddb7b270efeb8cf337940a61fb03912e5c859b7cbc54687c2f5c41a9d2a languageName: node linkType: hard -"metro-cache-key@npm:0.84.2": - version: 0.84.2 - resolution: "metro-cache-key@npm:0.84.2" +"metro-cache-key@npm:0.84.4": + version: 0.84.4 + resolution: "metro-cache-key@npm:0.84.4" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/4c3e8806a1ec5f39ddbc9fe7abfda211cb3735f3e693bf36ea9fd70b6bc118f3e93cb714c10ea701b1cf15a86ea24e4de27eef74c8f6456ca09a42414ab0a479 + checksum: 10c0/a82ab6367f11886d960cc8fa1f3aa54f6529fe30c16059c141c3e789084c50838fdd7e1a5528534cd9c11a74c63aa5c6a7461dbfa50e8c449b6141eaf2fd05e0 languageName: node linkType: hard -"metro-cache@npm:0.84.2": - version: 0.84.2 - resolution: "metro-cache@npm:0.84.2" +"metro-cache@npm:0.84.4": + version: 0.84.4 + resolution: "metro-cache@npm:0.84.4" dependencies: exponential-backoff: "npm:^3.1.1" flow-enums-runtime: "npm:^0.0.6" https-proxy-agent: "npm:^7.0.5" - metro-core: "npm:0.84.2" - checksum: 10c0/a98dd88a42f3efe4c5cb21bf9c43908de58292951c96b709cefa0551f92c054f6cac12bf94e4fdaca9e06c5017a2671b2f655333400c3a2c3112ce5f6b1548ab + metro-core: "npm:0.84.4" + checksum: 10c0/3bf7f3a1f85b4f1af05f4b2c71c78e56fd3262d967ee43f02e9ff6820254063af33a70b6549e3dc5e993a6a0b9df92e9279632ad9a8b1cde2577342f93df45eb languageName: node linkType: hard -"metro-config@npm:0.84.2, metro-config@npm:^0.84.0": - version: 0.84.2 - resolution: "metro-config@npm:0.84.2" +"metro-config@npm:0.84.4, metro-config@npm:^0.84.0": + version: 0.84.4 + resolution: "metro-config@npm:0.84.4" dependencies: connect: "npm:^3.6.5" flow-enums-runtime: "npm:^0.0.6" jest-validate: "npm:^29.7.0" - metro: "npm:0.84.2" - metro-cache: "npm:0.84.2" - metro-core: "npm:0.84.2" - metro-runtime: "npm:0.84.2" + metro: "npm:0.84.4" + metro-cache: "npm:0.84.4" + metro-core: "npm:0.84.4" + metro-runtime: "npm:0.84.4" yaml: "npm:^2.6.1" - checksum: 10c0/78c1f36449fc86f2f20917a07eb675e5ca8530c77a61b49ea603f6e3b9112c66febb375ad1b7a2d30f6a9359c68acb8bb1a7f454b245fd4391394c2a6264d739 + checksum: 10c0/f8aaf7d8cff9b486353b62f4746b0a70f99749bd4061f5ae847524aaedcd9c5a34bf176cbbe12fb33e771e8ed3c1496654b2578fa5ba8b9e4f856f0589744d98 languageName: node linkType: hard -"metro-core@npm:0.84.2, metro-core@npm:^0.84.0": - version: 0.84.2 - resolution: "metro-core@npm:0.84.2" +"metro-core@npm:0.84.4, metro-core@npm:^0.84.0": + version: 0.84.4 + resolution: "metro-core@npm:0.84.4" dependencies: flow-enums-runtime: "npm:^0.0.6" lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.84.2" - checksum: 10c0/19ed7b38d83a0fbca11c387a959713566bbccf47cdf7193f1a73c9bcf2af6fe647e1f3201fa7f02b0570555091384a36c26347d62c7a9a8096df55da9a4a3022 + metro-resolver: "npm:0.84.4" + checksum: 10c0/19d859de16b5e082c9c31bed981c579a4e6d31a626c7829b725df9ae0ffb755d0ef7809ba9f8adf22d3921f5ffdd931ed77b21b95ca2ea17895f0c99b3cab831 languageName: node linkType: hard -"metro-file-map@npm:0.84.2": - version: 0.84.2 - resolution: "metro-file-map@npm:0.84.2" +"metro-file-map@npm:0.84.4": + version: 0.84.4 + resolution: "metro-file-map@npm:0.84.4" dependencies: debug: "npm:^4.4.0" fb-watchman: "npm:^2.0.0" @@ -8289,75 +8271,75 @@ __metadata: micromatch: "npm:^4.0.4" nullthrows: "npm:^1.1.1" walker: "npm:^1.0.7" - checksum: 10c0/c0d226a11c3facbd9816306ce13e4b54b06ee3641fb38b3bb9182d14485c3e23cfeea5db72dee7dbb3e2dc84217e294194675c3837638979fb2f126d7b944263 + checksum: 10c0/09ca829570d1d6dc5beb0534da8a7f2bfcae5415b0974fd5f58b4a05da95dbafdd47f7dc8dedeb11b6562ee9a92c4d918466d02a05cda6e1eaf2c400cbbe6fb4 languageName: node linkType: hard -"metro-minify-terser@npm:0.84.2": - version: 0.84.2 - resolution: "metro-minify-terser@npm:0.84.2" +"metro-minify-terser@npm:0.84.4": + version: 0.84.4 + resolution: "metro-minify-terser@npm:0.84.4" dependencies: flow-enums-runtime: "npm:^0.0.6" terser: "npm:^5.15.0" - checksum: 10c0/815529025601096b4fb5e73526814d4a6e360420416a8a53e8649f29d6807d6a03c4c1343cef750183f1fff34e569469bbd159514300a009b70f44e6fd0f2f78 + checksum: 10c0/c9b36c2adb8254c38bdedad9da8bf2b7fae7f45cbd883e590430a5fc9cad808af24dd08a9420925e15733dab886528ad553e3eeb3faffc53d3ad80e7e03e5f6d languageName: node linkType: hard -"metro-resolver@npm:0.84.2": - version: 0.84.2 - resolution: "metro-resolver@npm:0.84.2" +"metro-resolver@npm:0.84.4": + version: 0.84.4 + resolution: "metro-resolver@npm:0.84.4" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/13d5ff37846d65c41a4dee6ed8322dfc28ca7866117afb790737c30b00e5993583d93a572e59147a784416790506318a6a5a881b4c3b579410d6b7ce31869883 + checksum: 10c0/468334270598222e15cbee32af51a3b5e1f4fa6869794955b95d1134b28a58594e8e3879e841ccf00bbb5cd86c689a4481714d6c6a464931987d5333d2c55f80 languageName: node linkType: hard -"metro-runtime@npm:0.84.2, metro-runtime@npm:^0.84.0": - version: 0.84.2 - resolution: "metro-runtime@npm:0.84.2" +"metro-runtime@npm:0.84.4, metro-runtime@npm:^0.84.0": + version: 0.84.4 + resolution: "metro-runtime@npm:0.84.4" dependencies: "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/268b0f2783f7870a067ecd76bf16760328cd5dcb9afb8a9f47a46176bd20160a4b1277a890eeb61238112c8636921207c25c5b19886722434f4ab56a367aaba0 + checksum: 10c0/e2b2e819027940c6bbd081e5650238d52b6c6d78561cd486b8c10cd1e7fce0213c66fa7f885e37ad5377fcd5726b1c9e473fba6de13938cdf2c966e82968c05f languageName: node linkType: hard -"metro-source-map@npm:0.84.2, metro-source-map@npm:^0.84.0": - version: 0.84.2 - resolution: "metro-source-map@npm:0.84.2" +"metro-source-map@npm:0.84.4, metro-source-map@npm:^0.84.0": + version: 0.84.4 + resolution: "metro-source-map@npm:0.84.4" dependencies: "@babel/traverse": "npm:^7.29.0" "@babel/types": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-symbolicate: "npm:0.84.2" + metro-symbolicate: "npm:0.84.4" nullthrows: "npm:^1.1.1" - ob1: "npm:0.84.2" + ob1: "npm:0.84.4" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - checksum: 10c0/b92965d2879028601200810c5d30c0c72918cb524296ed1664acda8700a7a14369678bc60529e9916a17bb3bae69d55cff52aa25b5a35e89fa539e9c57fcaf1e + checksum: 10c0/39df4524022e07aa4b4d09dd874a9509eb9e2e1e491e80a35099020347ab6be2407851b026452296aad314b0eb7ecf14f9b6bab96bd7c31d47d8b1eb30279aaf languageName: node linkType: hard -"metro-symbolicate@npm:0.84.2": - version: 0.84.2 - resolution: "metro-symbolicate@npm:0.84.2" +"metro-symbolicate@npm:0.84.4": + version: 0.84.4 + resolution: "metro-symbolicate@npm:0.84.4" dependencies: flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-source-map: "npm:0.84.2" + metro-source-map: "npm:0.84.4" nullthrows: "npm:^1.1.1" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" bin: metro-symbolicate: src/index.js - checksum: 10c0/5bb546584ac5464a93ee6bdbb19f09cf23d0f23e9cb81ff593c7afd9e6aea362b9f99896efc73395090ce06d0ca70b0dd28b4d16c860c0ae48aa2a84ef72a96f + checksum: 10c0/416a9ef694150a8ec708187743b74ab67e0b4fec39c64610b3771b584830117670a62acb9aa824f84a44efbb1cfec07aaf943d1aaf349d977eecf7c72bd8c0bf languageName: node linkType: hard -"metro-transform-plugins@npm:0.84.2": - version: 0.84.2 - resolution: "metro-transform-plugins@npm:0.84.2" +"metro-transform-plugins@npm:0.84.4": + version: 0.84.4 + resolution: "metro-transform-plugins@npm:0.84.4" dependencies: "@babel/core": "npm:^7.25.2" "@babel/generator": "npm:^7.29.1" @@ -8365,34 +8347,34 @@ __metadata: "@babel/traverse": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" nullthrows: "npm:^1.1.1" - checksum: 10c0/6ab536a50b2d2ae07b44ba7a44f5d29948ad65b0457ff6962ba07bb972cdf88b21e30b91909a1d236531e1ea7b497d4ebba99781291abd666ce7db34c00f554b + checksum: 10c0/7edb0c0d3655e9f5f5fb8bd8221ec297394b8730c959a3245ea81e50da8177ad7782f21696201a0dcb922281efd919e9548d5b819d8338e52d4b130f06333123 languageName: node linkType: hard -"metro-transform-worker@npm:0.84.2": - version: 0.84.2 - resolution: "metro-transform-worker@npm:0.84.2" +"metro-transform-worker@npm:0.84.4": + version: 0.84.4 + resolution: "metro-transform-worker@npm:0.84.4" dependencies: "@babel/core": "npm:^7.25.2" "@babel/generator": "npm:^7.29.1" "@babel/parser": "npm:^7.29.0" "@babel/types": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" - metro: "npm:0.84.2" - metro-babel-transformer: "npm:0.84.2" - metro-cache: "npm:0.84.2" - metro-cache-key: "npm:0.84.2" - metro-minify-terser: "npm:0.84.2" - metro-source-map: "npm:0.84.2" - metro-transform-plugins: "npm:0.84.2" + metro: "npm:0.84.4" + metro-babel-transformer: "npm:0.84.4" + metro-cache: "npm:0.84.4" + metro-cache-key: "npm:0.84.4" + metro-minify-terser: "npm:0.84.4" + metro-source-map: "npm:0.84.4" + metro-transform-plugins: "npm:0.84.4" nullthrows: "npm:^1.1.1" - checksum: 10c0/a8dc2ce2fba90fc72ae01d3c741d8f848c3429be7af8fe01be621d75c7575b249160de64a133515be0dfdf01b8fd84e83804c28b0029f0790cd2779f6dba1c37 + checksum: 10c0/95924f9bcaf6df931bba2783f440d8fab29909bdde8cecdcc3bc7603e7de71e51728a34288f045694b616c94216d1fc683493b8a470e074c9c8a7f220aa9f9b5 languageName: node linkType: hard -"metro@npm:0.84.2, metro@npm:^0.84.0": - version: 0.84.2 - resolution: "metro@npm:0.84.2" +"metro@npm:0.84.4, metro@npm:^0.84.0": + version: 0.84.4 + resolution: "metro@npm:0.84.4" dependencies: "@babel/code-frame": "npm:^7.29.0" "@babel/core": "npm:^7.25.2" @@ -8402,31 +8384,30 @@ __metadata: "@babel/traverse": "npm:^7.29.0" "@babel/types": "npm:^7.29.0" accepts: "npm:^2.0.0" - chalk: "npm:^4.0.0" ci-info: "npm:^2.0.0" connect: "npm:^3.6.5" debug: "npm:^4.4.0" error-stack-parser: "npm:^2.0.6" flow-enums-runtime: "npm:^0.0.6" graceful-fs: "npm:^4.2.4" - hermes-parser: "npm:0.33.3" + hermes-parser: "npm:0.35.0" image-size: "npm:^1.0.2" invariant: "npm:^2.2.4" jest-worker: "npm:^29.7.0" jsc-safe-url: "npm:^0.2.2" lodash.throttle: "npm:^4.1.1" - metro-babel-transformer: "npm:0.84.2" - metro-cache: "npm:0.84.2" - metro-cache-key: "npm:0.84.2" - metro-config: "npm:0.84.2" - metro-core: "npm:0.84.2" - metro-file-map: "npm:0.84.2" - metro-resolver: "npm:0.84.2" - metro-runtime: "npm:0.84.2" - metro-source-map: "npm:0.84.2" - metro-symbolicate: "npm:0.84.2" - metro-transform-plugins: "npm:0.84.2" - metro-transform-worker: "npm:0.84.2" + metro-babel-transformer: "npm:0.84.4" + metro-cache: "npm:0.84.4" + metro-cache-key: "npm:0.84.4" + metro-config: "npm:0.84.4" + metro-core: "npm:0.84.4" + metro-file-map: "npm:0.84.4" + metro-resolver: "npm:0.84.4" + metro-runtime: "npm:0.84.4" + metro-source-map: "npm:0.84.4" + metro-symbolicate: "npm:0.84.4" + metro-transform-plugins: "npm:0.84.4" + metro-transform-worker: "npm:0.84.4" mime-types: "npm:^3.0.1" nullthrows: "npm:^1.1.1" serialize-error: "npm:^2.1.0" @@ -8436,7 +8417,7 @@ __metadata: yargs: "npm:^17.6.2" bin: metro: src/cli.js - checksum: 10c0/d29d9326195e7be703d7d5b21c1d0ffe7e360cdc827ac37b423a8884ca198038ccf65f8d1aebfa6a3c3dcf2e08e0e475b971fcbef5a3e8793145b24667b466fb + checksum: 10c0/ff92915119db29cd855274f3789d391cba83c50cb92e22d1e9b8c729e7f6d39495e32540a22ca4c6591eea6a847ade49fcfa5faab01b2300227e3f1fc7df359c languageName: node linkType: hard @@ -8825,12 +8806,12 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.84.2": - version: 0.84.2 - resolution: "ob1@npm:0.84.2" +"ob1@npm:0.84.4": + version: 0.84.4 + resolution: "ob1@npm:0.84.4" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/dd699736ee55d58eeace5cb312492727ce45dcbadcf227247e88266044ff3b4a82a3eba08c881688cf12861fa2782a8e4a825f0c070c43f95770d9fee67c5988 + checksum: 10c0/8bf3a3bdc2b27f1b1b60569c31ff2d9d829025f9a1ce7388b5e810242e48672c8d6b24e5972d6e30aef4d84f6894d12b13d0c6c418460d031da1972b96920bba languageName: node linkType: hard @@ -9503,7 +9484,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1, react-is@npm:^16.7.0": +"react-is@npm:^16.13.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 @@ -9517,21 +9498,6 @@ __metadata: languageName: node linkType: hard -"react-native-gesture-handler@npm:^2.31.1": - version: 2.31.1 - resolution: "react-native-gesture-handler@npm:2.31.1" - dependencies: - "@egjs/hammerjs": "npm:^2.0.17" - "@types/react-test-renderer": "npm:^19.1.0" - hoist-non-react-statics: "npm:^3.3.0" - invariant: "npm:^2.2.4" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10c0/c73621a588ba12cf339c27c5185b3ade250a1bcaf1762d52ecafc09c4883b7ddf2b1956ad427740050af253ee9bb3e201493f391067ef99c084891cbef6dbcc9 - languageName: node - linkType: hard - "react-native@npm:0.85.0": version: 0.85.0 resolution: "react-native@npm:0.85.0" From 060592affd04d2609f9415dc957da0611f612d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Jastrze=CC=A8bski?= Date: Mon, 4 May 2026 11:32:53 +0200 Subject: [PATCH 2/2] fix validate --- src/__tests__/fire-event.test.tsx | 22 +++++++------------ .../press/__tests__/longPress.test.tsx | 22 +++++++------------ src/user-event/press/__tests__/press.test.tsx | 20 ++++++----------- 3 files changed, 23 insertions(+), 41 deletions(-) diff --git a/src/__tests__/fire-event.test.tsx b/src/__tests__/fire-event.test.tsx index 84dbc82f5..e70b66e9a 100644 --- a/src/__tests__/fire-event.test.tsx +++ b/src/__tests__/fire-event.test.tsx @@ -158,20 +158,14 @@ describe('fireEvent.press', () => { const onPressIn = jest.fn(); const onPressOut = jest.fn(); const onLongPress = jest.fn(); - - await render( - , - ); + const testOnlyPressProps = { + testOnly_onPress: onPress, + testOnly_onPressIn: onPressIn, + testOnly_onPressOut: onPressOut, + testOnly_onLongPress: onLongPress, + }; + + await render(); const subject = screen.getByTestId('subject'); diff --git a/src/user-event/press/__tests__/longPress.test.tsx b/src/user-event/press/__tests__/longPress.test.tsx index b36e12fc0..de5341d70 100644 --- a/src/user-event/press/__tests__/longPress.test.tsx +++ b/src/user-event/press/__tests__/longPress.test.tsx @@ -77,20 +77,14 @@ describe('userEvent.longPress with fake timers', () => { test('works with testOnly_onPress handlers', async () => { const { events, logEvent } = createEventLogger(); const user = userEvent.setup(); - - await render( - , - ); + const testOnlyPressProps = { + testOnly_onPress: logEvent('press'), + testOnly_onPressIn: logEvent('pressIn'), + testOnly_onPressOut: logEvent('pressOut'), + testOnly_onLongPress: logEvent('longPress'), + }; + + await render(); await user.longPress(screen.getByTestId('subject')); expect(getEventsNames(events)).toEqual(['pressIn', 'longPress', 'pressOut']); diff --git a/src/user-event/press/__tests__/press.test.tsx b/src/user-event/press/__tests__/press.test.tsx index a94234ad8..1d105014b 100644 --- a/src/user-event/press/__tests__/press.test.tsx +++ b/src/user-event/press/__tests__/press.test.tsx @@ -100,20 +100,14 @@ describe('userEvent.press with fake timers', () => { test('works with testOnly_onPress handlers', async () => { const { events, logEvent } = createEventLogger(); const user = userEvent.setup(); + const testOnlyPressProps = { + testOnly_onPress: logEvent('press'), + testOnly_onPressIn: logEvent('pressIn'), + testOnly_onPressOut: logEvent('pressOut'), + testOnly_onLongPress: logEvent('longPress'), + }; - await render( - , - ); + await render(); await user.press(screen.getByTestId('subject')); expect(getEventsNames(events)).toEqual(['pressIn', 'pressOut', 'press']);