From b30f3f44cdabd9545c4661cd755b9d49e5c144cd Mon Sep 17 00:00:00 2001 From: jrandolf <101637635+jrandolf@users.noreply.github.com> Date: Thu, 9 Jun 2022 13:27:34 +0200 Subject: [PATCH] fix: parse empty options in element.'); + return this.evaluate((element: Element, vals: string[]): string[] => { + const values = new Set(vals); + if (!(element instanceof HTMLSelectElement)) { + throw new Error('Element is not a + diff --git a/test/page.spec.ts b/test/page.spec.ts index 9c31f5b7a4fe2..88fddc4c3a9c2 100644 --- a/test/page.spec.ts +++ b/test/page.spec.ts @@ -1887,12 +1887,13 @@ describe('Page', function () { await page.select('select', 'blue', 'black', 'magenta'); await page.select('select'); expect( - await page.$eval('select', (select: HTMLSelectElement) => - Array.from(select.options).every( - (option: HTMLOptionElement) => !option.selected - ) + await page.$eval( + 'select', + (select: HTMLSelectElement) => + Array.from(select.options).filter((option) => option.selected)[0] + .value ) - ).toEqual(true); + ).toEqual(''); }); it('should throw if passed in non-strings', async () => { const { page } = getTestState();