From cc3c45149b08fc61c037fc0193a923f7f507063b Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 21 Nov 2024 13:28:10 +0000 Subject: [PATCH] fix: isEditable/toBeEditable throw for elements that cannot be editable/readonly This is similar to `isChecked` only allowed for checkable elements. The list of editable elements includes: - ``; - ``); + await page.setContent(` + + + +
+ + + + `); await page.$eval('textarea', t => t.readOnly = true); const input1 = page.locator('#input1'); expect(await input1.isEditable()).toBe(false); @@ -130,6 +138,11 @@ it('isEditable should work', async ({ page }) => { const textarea = page.locator('textarea'); expect(await textarea.isEditable()).toBe(false); expect(await page.isEditable('textarea')).toBe(false); + expect(await page.locator('div').isEditable()).toBe(true); + expect(await page.locator('#span1').isEditable()).toBe(false); + expect(await page.locator('#span2').isEditable()).toBe(true); + const error = await page.locator('button').isEditable().catch(e => e); + expect(error.message).toContain('Element is not an ,