diff --git a/utils/generate_types/overrides.d.ts b/utils/generate_types/overrides.d.ts index 3ce6f90f62..a923f78c11 100644 --- a/utils/generate_types/overrides.d.ts +++ b/utils/generate_types/overrides.d.ts @@ -56,12 +56,12 @@ export interface Page { $eval(selector: K, pageFunction: PageFunctionOn, arg: Arg): Promise; $eval(selector: string, pageFunction: PageFunctionOn, arg: Arg): Promise; - $eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; + $eval(selector: K, pageFunction: PageFunctionOn, arg?: any): Promise; $eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; $$eval(selector: K, pageFunction: PageFunctionOn, arg: Arg): Promise; $$eval(selector: string, pageFunction: PageFunctionOn, arg: Arg): Promise; - $$eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; + $$eval(selector: K, pageFunction: PageFunctionOn, arg?: any): Promise; $$eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; waitForFunction(pageFunction: PageFunction, arg: Arg, options?: PageWaitForFunctionOptions): Promise>; @@ -88,12 +88,12 @@ export interface Frame { $eval(selector: K, pageFunction: PageFunctionOn, arg: Arg): Promise; $eval(selector: string, pageFunction: PageFunctionOn, arg: Arg): Promise; - $eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; + $eval(selector: K, pageFunction: PageFunctionOn, arg?: any): Promise; $eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; $$eval(selector: K, pageFunction: PageFunctionOn, arg: Arg): Promise; $$eval(selector: string, pageFunction: PageFunctionOn, arg: Arg): Promise; - $$eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; + $$eval(selector: K, pageFunction: PageFunctionOn, arg?: any): Promise; $$eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; waitForFunction(pageFunction: PageFunction, arg: Arg, options?: PageWaitForFunctionOptions): Promise>; @@ -133,12 +133,12 @@ export interface ElementHandle extends JSHandle { $eval(selector: K, pageFunction: PageFunctionOn, arg: Arg): Promise; $eval(selector: string, pageFunction: PageFunctionOn, arg: Arg): Promise; - $eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; + $eval(selector: K, pageFunction: PageFunctionOn, arg?: any): Promise; $eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; $$eval(selector: K, pageFunction: PageFunctionOn, arg: Arg): Promise; $$eval(selector: string, pageFunction: PageFunctionOn, arg: Arg): Promise; - $$eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; + $$eval(selector: K, pageFunction: PageFunctionOn, arg?: any): Promise; $$eval(selector: string, pageFunction: PageFunctionOn, arg?: any): Promise; } diff --git a/utils/generate_types/test/test.ts b/utils/generate_types/test/test.ts index 50f3772fe8..3591ae912d 100644 --- a/utils/generate_types/test/test.ts +++ b/utils/generate_types/test/test.ts @@ -286,7 +286,14 @@ playwright.chromium.launch().then(async browser => { console.log(elements.map(x => x)[0].textContent); return elements[3].innerHTML; }); - + { + const value = await page.$eval('input', i => i.disabled); + const assertion: AssertType = true; + } + { + const value = await page.$$eval('input', i => i[0].defaultValue); + const assertion: AssertType = true; + } browser.close(); })();