diff --git a/tests/page/locator-click.spec.ts b/tests/page/locator-click.spec.ts index 0ab77324f0..c997652e01 100644 --- a/tests/page/locator-click.spec.ts +++ b/tests/page/locator-click.spec.ts @@ -53,3 +53,19 @@ it('should double click the button', async ({ page, server }) => { expect(await page.evaluate('double')).toBe(true); expect(await page.evaluate('result')).toBe('Clicked'); }); + +it('should click if the target element is removed in pointerup event', async ({ page, browserName }) => { + it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/21995' }); + it.fixme(browserName === 'firefox'); + await page.setContent(``); + await page.$eval('#clickme', element => element.addEventListener('pointerup', () => element.remove(), false)); + await page.locator('#clickme').click(); +}); + +it('should click if the target element is removed in pointerdown event', async ({ page, browserName }) => { + it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/21995' }); + it.fixme(browserName === 'firefox'); + await page.setContent(``); + await page.$eval('#clickme', element => element.addEventListener('pointerdown', () => element.remove(), false)); + await page.locator('#clickme').click(); +});