Skip to content

Commit c7b5622

Browse files
authoredSep 13, 2020
fix: Trigger onPointerEnter/Leave when calling pointerEnter/Leave (#784)
1 parent 865c4fd commit c7b5622

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed
 

Diff for: ‎src/__tests__/events.js

+20
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,26 @@ test('onChange works', () => {
197197
expect(handleChange).toHaveBeenCalledTimes(1)
198198
})
199199

200+
test('calling `onPointerEnter` directly works too', () => {
201+
const handlePointerEnter = jest.fn()
202+
const handlePointerLeave = jest.fn()
203+
const {container} = render(
204+
<div>
205+
<button
206+
onPointerEnter={handlePointerEnter}
207+
onPointerLeave={handlePointerLeave}
208+
/>
209+
</div>,
210+
)
211+
const button = container.firstChild.firstChild
212+
213+
fireEvent.pointerEnter(button)
214+
expect(handlePointerEnter).toHaveBeenCalledTimes(1)
215+
216+
fireEvent.pointerLeave(button)
217+
expect(handlePointerLeave).toHaveBeenCalledTimes(1)
218+
})
219+
200220
test('calling `fireEvent` directly works too', () => {
201221
const handleEvent = jest.fn()
202222
const {

Diff for: ‎src/fire-event.js

+11
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,17 @@ fireEvent.mouseLeave = (...args) => {
2424
return fireEvent.mouseOut(...args)
2525
}
2626

27+
const pointerEnter = fireEvent.pointerEnter
28+
const pointerLeave = fireEvent.pointerLeave
29+
fireEvent.pointerEnter = (...args) => {
30+
pointerEnter(...args)
31+
return fireEvent.pointerOver(...args)
32+
}
33+
fireEvent.pointerLeave = (...args) => {
34+
pointerLeave(...args)
35+
return fireEvent.pointerOut(...args)
36+
}
37+
2738
const select = fireEvent.select
2839
fireEvent.select = (node, init) => {
2940
select(node, init)

0 commit comments

Comments
 (0)
Please sign in to comment.