import { expectTypeOf } from 'vitest' import { remote } from '../../../src/index.js' test('properly transforms element arguments', async () => { const browser = await remote({ capabilities: {} }) const elem = await browser.$('body') const result: WebdriverIO.Element = await elem.executeAsync((el, a, b, c, d, done) => { expectTypeOf(el).toEqualTypeOf() expectTypeOf(a).toEqualTypeOf() expectTypeOf(b).toEqualTypeOf() expectTypeOf(c).toEqualTypeOf() expectTypeOf(d).toEqualTypeOf() done(document.body) }, 1, '2', true, elem) expectTypeOf(result).toEqualTypeOf() const el: WebdriverIO.Element | null = await elem.executeAsync((el, done) => { done(document.querySelector('body')) }) expectTypeOf(el).toEqualTypeOf() const result2: WebdriverIO.Element | null = await elem.executeAsync((el, done) => done(document.querySelector('div'))) expectTypeOf(result2).toEqualTypeOf() const result3: number = await elem.executeAsync((el, done) => done(123)) expectTypeOf(result3).toEqualTypeOf() })