Skip to content

Commit 40eed71

Browse files
author
Andrzej Antoni Kwaśniewski
committed
restores relation traversal
1 parent 2b5ac66 commit 40eed71

1 file changed

Lines changed: 77 additions & 60 deletions

File tree

packages/react-native-gesture-handler/src/__tests__/RelationsTraversal.test.tsx

Lines changed: 77 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,26 @@ import {
44
useCompetingGestures,
55
useSimultaneousGestures,
66
} from '../v3/hooks/composition';
7+
import { useGesture } from '../v3/hooks/useGesture';
78
import { configureRelations } from '../v3/detectors/utils';
9+
import { SingleGesture, SingleGestureName } from '../v3/types';
810
import { renderHook } from '@testing-library/react-native';
9-
import {
10-
PanGesture,
11-
TapGesture,
12-
usePanGesture,
13-
useTapGesture,
14-
} from '../v3/hooks/gestures';
1511

1612
describe('Ensure only one leaf node', () => {
17-
let pan1: PanGesture, pan2: PanGesture, pan3: PanGesture;
13+
let pan1: SingleGesture<unknown, unknown>,
14+
pan2: SingleGesture<unknown, unknown>,
15+
pan3: SingleGesture<unknown, unknown>;
1816

1917
beforeEach(() => {
20-
pan1 = renderHook(() => usePanGesture({ disableReanimated: true })).result
21-
.current;
22-
pan2 = renderHook(() => usePanGesture({ disableReanimated: true })).result
23-
.current;
24-
pan3 = renderHook(() => usePanGesture({ disableReanimated: true })).result
25-
.current;
18+
pan1 = renderHook(() =>
19+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
20+
).result.current;
21+
pan2 = renderHook(() =>
22+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
23+
).result.current;
24+
pan3 = renderHook(() =>
25+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
26+
).result.current;
2627
});
2728

2829
const errorMessage = tagMessage(
@@ -54,13 +55,16 @@ describe('Ensure only one leaf node', () => {
5455
});
5556

5657
describe('Simple relations', () => {
57-
let pan1: PanGesture, pan2: PanGesture;
58+
let pan1: SingleGesture<unknown, unknown>,
59+
pan2: SingleGesture<unknown, unknown>;
5860

5961
beforeEach(() => {
60-
pan1 = renderHook(() => usePanGesture({ disableReanimated: true })).result
61-
.current;
62-
pan2 = renderHook(() => usePanGesture({ disableReanimated: true })).result
63-
.current;
62+
pan1 = renderHook(() =>
63+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
64+
).result.current;
65+
pan2 = renderHook(() =>
66+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
67+
).result.current;
6468
});
6569

6670
test('useSimultaneous', () => {
@@ -106,16 +110,17 @@ describe('Simple relations', () => {
106110

107111
describe('External relations', () => {
108112
test('simultaneousWith', () => {
109-
const pan1 = renderHook(() => usePanGesture({ disableReanimated: true }))
110-
.result.current;
113+
const pan1 = renderHook(() =>
114+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
115+
).result.current;
111116
const pan2 = renderHook(() =>
112-
usePanGesture({
117+
useGesture(SingleGestureName.Pan, {
113118
disableReanimated: true,
114119
simultaneousWith: pan1,
115120
})
116121
).result.current;
117122
const pan3 = renderHook(() =>
118-
usePanGesture({
123+
useGesture(SingleGestureName.Pan, {
119124
disableReanimated: true,
120125
simultaneousWith: [pan1, pan2],
121126
})
@@ -137,16 +142,17 @@ describe('External relations', () => {
137142
});
138143

139144
test('requireToFail', () => {
140-
const pan1 = renderHook(() => usePanGesture({ disableReanimated: true }))
141-
.result.current;
145+
const pan1 = renderHook(() =>
146+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
147+
).result.current;
142148
const pan2 = renderHook(() =>
143-
usePanGesture({
149+
useGesture(SingleGestureName.Pan, {
144150
disableReanimated: true,
145151
requireToFail: pan1,
146152
})
147153
).result.current;
148154
const pan3 = renderHook(() =>
149-
usePanGesture({
155+
useGesture(SingleGestureName.Pan, {
150156
disableReanimated: true,
151157
requireToFail: [pan1, pan2],
152158
})
@@ -162,16 +168,17 @@ describe('External relations', () => {
162168
});
163169

164170
test('blocks', () => {
165-
const pan1 = renderHook(() => usePanGesture({ disableReanimated: true }))
166-
.result.current;
171+
const pan1 = renderHook(() =>
172+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
173+
).result.current;
167174
const pan2 = renderHook(() =>
168-
usePanGesture({
175+
useGesture(SingleGestureName.Pan, {
169176
disableReanimated: true,
170177
block: pan1,
171178
})
172179
).result.current;
173180
const pan3 = renderHook(() =>
174-
usePanGesture({
181+
useGesture(SingleGestureName.Pan, {
175182
disableReanimated: true,
176183
block: [pan1, pan2],
177184
})
@@ -191,23 +198,33 @@ describe('External relations', () => {
191198
});
192199

193200
describe('Complex relations', () => {
194-
let pan1: PanGesture, pan2: PanGesture, pan3: PanGesture;
195-
let tap1: TapGesture, tap2: TapGesture, tap3: TapGesture;
201+
let pan1: SingleGesture<unknown, unknown>,
202+
pan2: SingleGesture<unknown, unknown>,
203+
pan3: SingleGesture<unknown, unknown>;
204+
let tap1: SingleGesture<unknown, unknown>,
205+
tap2: SingleGesture<unknown, unknown>,
206+
tap3: SingleGesture<unknown, unknown>;
196207

197208
beforeEach(() => {
198-
tap1 = renderHook(() => useTapGesture({ disableReanimated: true })).result
199-
.current;
200-
tap2 = renderHook(() => useTapGesture({ disableReanimated: true })).result
201-
.current;
202-
tap3 = renderHook(() => useTapGesture({ disableReanimated: true })).result
203-
.current;
209+
tap1 = renderHook(() =>
210+
useGesture(SingleGestureName.Tap, { disableReanimated: true })
211+
).result.current;
212+
tap2 = renderHook(() =>
213+
useGesture(SingleGestureName.Tap, { disableReanimated: true })
214+
).result.current;
215+
tap3 = renderHook(() =>
216+
useGesture(SingleGestureName.Tap, { disableReanimated: true })
217+
).result.current;
204218

205-
pan1 = renderHook(() => usePanGesture({ disableReanimated: true })).result
206-
.current;
207-
pan2 = renderHook(() => usePanGesture({ disableReanimated: true })).result
208-
.current;
209-
pan3 = renderHook(() => usePanGesture({ disableReanimated: true })).result
210-
.current;
219+
pan1 = renderHook(() =>
220+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
221+
).result.current;
222+
pan2 = renderHook(() =>
223+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
224+
).result.current;
225+
pan3 = renderHook(() =>
226+
useGesture(SingleGestureName.Pan, { disableReanimated: true })
227+
).result.current;
211228
});
212229

213230
// Test case from description of https://github.com/software-mansion/react-native-gesture-handler/pull/3693
@@ -298,31 +315,31 @@ describe('Complex relations', () => {
298315
describe('Complex relations with external gestures', () => {
299316
test('Case 1', () => {
300317
const pan5 = renderHook(() =>
301-
usePanGesture({
318+
useGesture(SingleGestureName.Pan, {
302319
disableReanimated: true,
303320
})
304321
).result.current;
305322

306323
const pan1 = renderHook(() =>
307-
usePanGesture({
324+
useGesture(SingleGestureName.Pan, {
308325
disableReanimated: true,
309326
simultaneousWith: pan5,
310327
})
311328
).result.current;
312329
const pan2 = renderHook(() =>
313-
usePanGesture({
330+
useGesture(SingleGestureName.Pan, {
314331
disableReanimated: true,
315332
simultaneousWith: pan5,
316333
})
317334
).result.current;
318335
const pan3 = renderHook(() =>
319-
usePanGesture({
336+
useGesture(SingleGestureName.Pan, {
320337
disableReanimated: true,
321338
requireToFail: pan5,
322339
})
323340
).result.current;
324341
const pan4 = renderHook(() =>
325-
usePanGesture({
342+
useGesture(SingleGestureName.Pan, {
326343
disableReanimated: true,
327344
requireToFail: pan5,
328345
})
@@ -372,33 +389,33 @@ describe('Complex relations with external gestures', () => {
372389

373390
test('Case 2', () => {
374391
const pan4 = renderHook(() =>
375-
usePanGesture({
392+
useGesture(SingleGestureName.Pan, {
376393
disableReanimated: true,
377394
})
378395
).result.current;
379396

380397
const pan5 = renderHook(() =>
381-
usePanGesture({
398+
useGesture(SingleGestureName.Pan, {
382399
disableReanimated: true,
383400
})
384401
).result.current;
385402

386403
const pan1 = renderHook(() =>
387-
usePanGesture({
404+
useGesture(SingleGestureName.Pan, {
388405
disableReanimated: true,
389406
simultaneousWith: [pan4, pan5],
390407
})
391408
).result.current;
392409

393410
const pan2 = renderHook(() =>
394-
usePanGesture({
411+
useGesture(SingleGestureName.Pan, {
395412
disableReanimated: true,
396413
requireToFail: [pan4, pan5],
397414
})
398415
).result.current;
399416

400417
const pan3 = renderHook(() =>
401-
usePanGesture({
418+
useGesture(SingleGestureName.Pan, {
402419
disableReanimated: true,
403420
})
404421
).result.current;
@@ -444,13 +461,13 @@ describe('Complex relations with external gestures', () => {
444461
describe('External relations with composed gestures', () => {
445462
test('Case 1', () => {
446463
const pan1 = renderHook(() =>
447-
usePanGesture({
464+
useGesture(SingleGestureName.Pan, {
448465
disableReanimated: true,
449466
})
450467
).result.current;
451468

452469
const pan2 = renderHook(() =>
453-
usePanGesture({
470+
useGesture(SingleGestureName.Pan, {
454471
disableReanimated: true,
455472
})
456473
).result.current;
@@ -460,7 +477,7 @@ describe('External relations with composed gestures', () => {
460477
).result.current;
461478

462479
const pan3 = renderHook(() =>
463-
usePanGesture({
480+
useGesture(SingleGestureName.Pan, {
464481
disableReanimated: true,
465482
simultaneousWith: composedGesture,
466483
})
@@ -482,13 +499,13 @@ describe('External relations with composed gestures', () => {
482499

483500
test('Case 1 - reversed order of configuring relations', () => {
484501
const pan1 = renderHook(() =>
485-
usePanGesture({
502+
useGesture(SingleGestureName.Pan, {
486503
disableReanimated: true,
487504
})
488505
).result.current;
489506

490507
const pan2 = renderHook(() =>
491-
usePanGesture({
508+
useGesture(SingleGestureName.Pan, {
492509
disableReanimated: true,
493510
})
494511
).result.current;
@@ -498,7 +515,7 @@ describe('External relations with composed gestures', () => {
498515
).result.current;
499516

500517
const pan3 = renderHook(() =>
501-
usePanGesture({
518+
useGesture(SingleGestureName.Pan, {
502519
disableReanimated: true,
503520
simultaneousWith: composedGesture,
504521
})

0 commit comments

Comments
 (0)