diff --git a/test/browser/fixtures/user-event/pointer.test.ts b/test/browser/fixtures/user-event/pointer.test.ts
index 282853928..38fcef4d5 100644
--- a/test/browser/fixtures/user-event/pointer.test.ts
+++ b/test/browser/fixtures/user-event/pointer.test.ts
@@ -566,4 +566,33 @@ describe('keeps using previous target or coordinates', () => {
expect(click).toHaveBeenCalledTimes(3)
expect(click.mock.calls).toEqual(expectedCalls)
})
+
+ test('reuses previous target even after other user events', async ({ expect }) => {
+ document.body.innerHTML = /* html */`
+
+
+ `
+
+ const aButton = document.getElementById('a')!
+ const bButton = document.getElementById('b')!
+ const aSpy = vi.fn()
+ const bSpy = vi.fn()
+
+ aButton.addEventListener('click', aSpy)
+ bButton.addEventListener('click', bSpy)
+
+ await userEvent.pointer({ target: aButton, keys: '[MouseLeft]' })
+
+ expect(aSpy).toHaveBeenCalledOnce()
+
+ await userEvent.click(bButton)
+
+ expect(aSpy).toHaveBeenCalledOnce()
+ expect(bSpy).toHaveBeenCalledOnce()
+
+ await userEvent.pointer('[MouseLeft]')
+
+ expect(aSpy).toHaveBeenCalledTimes(2)
+ expect(bSpy).toHaveBeenCalledOnce()
+ })
})
diff --git a/test/browser/specs/pointer.test.ts b/test/browser/specs/pointer.test.ts
index 6aadc8857..d0f5505cd 100644
--- a/test/browser/specs/pointer.test.ts
+++ b/test/browser/specs/pointer.test.ts
@@ -41,6 +41,7 @@ test('pointer API works with UI enabled', async () => {
"previous coordinates same action": "passed",
"previous target different action": "passed",
"previous target same action": "passed",
+ "reuses previous target even after other user events": "passed",
"target resets previous coords": "passed",
},
"keyboard-fired modifiers apply to pointer events": "passed",
@@ -68,6 +69,7 @@ test('pointer API works with UI enabled', async () => {
"previous coordinates same action": "passed",
"previous target different action": "passed",
"previous target same action": "passed",
+ "reuses previous target even after other user events": "passed",
"target resets previous coords": "passed",
},
"keyboard-fired modifiers apply to pointer events": "passed",
@@ -95,6 +97,7 @@ test('pointer API works with UI enabled', async () => {
"previous coordinates same action": "passed",
"previous target different action": "passed",
"previous target same action": "passed",
+ "reuses previous target even after other user events": "passed",
"target resets previous coords": "passed",
},
"keyboard-fired modifiers apply to pointer events": "passed",