diff --git a/test/browser/fixtures/user-event/pointer.test.ts b/test/browser/fixtures/user-event/pointer.test.ts
index 82c0f186d..b4889a86b 100644
--- a/test/browser/fixtures/user-event/pointer.test.ts
+++ b/test/browser/fixtures/user-event/pointer.test.ts
@@ -235,14 +235,23 @@ test('drags and drops', async ({ expect }) => {
Drop here
`
+ const DRAG_CONTENT = 'drag content'
+
const source = document.body.querySelector('#source')
const dropTarget = document.body.querySelector('#target')
type DragAction = (event: DragEvent) => void
- const dragStart = vi.fn()
+ let dragData: string
+
+ const dragStart = vi.fn((event) => {
+ event.dataTransfer.setData('text/plain', DRAG_CONTENT)
+ })
const dragEnter = vi.fn()
- const drop = vi.fn()
+ const drop = vi.fn((event) => {
+ // retrieving the data from the mock doesn't work, so we need to save it
+ dragData = event.dataTransfer.getData('text/plain')
+ })
const dragEnd = vi.fn()
source.addEventListener('dragstart', dragStart)
@@ -253,7 +262,6 @@ test('drags and drops', async ({ expect }) => {
await userEvent.pointer([
{ target: source, action: 'down' },
- { target: dropTarget },
{ target: dropTarget, action: 'up' },
])
@@ -264,6 +272,8 @@ test('drags and drops', async ({ expect }) => {
expect(dragStart).toHaveBeenCalledBefore(dragEnter)
expect(dragEnter).toHaveBeenCalledBefore(drop)
expect(drop).toHaveBeenCalledBefore(dragEnd)
+
+ expect(dragData).toBe(DRAG_CONTENT)
})
test('temporary modifiers apply to one action', async ({ expect }) => {