From 2993616f0a55c5f9c1dc9703f0263003f119b37e Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Wed, 2 Sep 2020 15:22:52 -0700 Subject: [PATCH] test: add tests for selectors matching root behavior --- test/selectors-css.spec.ts | 6 ++++++ test/selectors-text.spec.ts | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/test/selectors-css.spec.ts b/test/selectors-css.spec.ts index c1198f64b9ef1..a92b02450bdcd 100644 --- a/test/selectors-css.spec.ts +++ b/test/selectors-css.spec.ts @@ -119,3 +119,9 @@ it('should work with attribute selectors', async ({page}) => { expect(await page.$eval(`[attr*=hello] >> span`, e => e.parentNode === window['div'])).toBe(true); expect(await page.$eval(`[attr3="] span"] >> span`, e => e.parentNode === window['div'])).toBe(true); }); + +it('should not match root after >>', async ({page, server}) => { + await page.setContent('
test
'); + const element = await page.$('css=section >> css=section'); + expect(element).toBe(null); +}); diff --git a/test/selectors-text.spec.ts b/test/selectors-text.spec.ts index d379c536d07a7..34d079608f198 100644 --- a/test/selectors-text.spec.ts +++ b/test/selectors-text.spec.ts @@ -204,3 +204,11 @@ it('should waitForSelector with distributed elements', async ({page, server}) => const handle = await promise; expect(await handle.textContent()).toBe('Hello from light'); }); + +it('should match root after >>', async ({page, server}) => { + await page.setContent('
test
'); + const element = await page.$('css=section >> text=test'); + expect(element).toBeTruthy(); + const element2 = await page.$('text=test >> text=test'); + expect(element2).toBeTruthy(); +});