@@ -16,6 +16,7 @@ import type { StringifyOptions } from 'vitest/internal/browser'
1616import type { IframeViewportEvent } from '../client'
1717import type { BrowserRunnerState } from '../utils'
1818import type { Locator as LocatorAPI } from './locators/index'
19+ import { vi } from 'vitest'
1920import { __INTERNAL , stringify } from 'vitest/internal/browser'
2021import { ensureAwaited , getBrowserState , getWorkerState } from '../utils'
2122import { convertToSelector , isLocator , processTimeoutOptions , resolveUserEventWheelOptions } from './tester-utils'
@@ -142,8 +143,11 @@ export function createUserEvent(__tl_user_event_base__?: TestingLibraryUserEvent
142143 return userEvent
143144}
144145
145- function createPreviewUserEvent ( userEventBase : TestingLibraryUserEvent , options : TestingLibraryOptions ) : UserEvent {
146- let userEvent = userEventBase . setup ( options )
146+ function createPreviewUserEvent ( userEventBase : TestingLibraryUserEvent , options ?: TestingLibraryOptions ) : UserEvent {
147+ let userEvent = userEventBase . setup ( {
148+ advanceTimers : delay => vi . advanceTimersByTimeAsync ( delay ) ,
149+ ...options ,
150+ } )
147151 let clipboardData : DataTransfer | undefined
148152
149153 function toElement ( element : Element | Locator ) {
@@ -155,7 +159,10 @@ function createPreviewUserEvent(userEventBase: TestingLibraryUserEvent, options:
155159 return createPreviewUserEvent ( userEventBase , options )
156160 } ,
157161 async cleanup ( ) {
158- userEvent = userEventBase . setup ( options ?? { } )
162+ userEvent = userEventBase . setup ( {
163+ advanceTimers : delay => vi . advanceTimersByTimeAsync ( delay ) ,
164+ ...options ,
165+ } )
159166 } ,
160167 async click ( element ) {
161168 await userEvent . click ( toElement ( element ) )
0 commit comments