From 5c3bf5bf3e441c3da2a6e019ab8798456a7a440a Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Wed, 2 Sep 2020 16:00:15 -0700 Subject: [PATCH] test: add tests for selectors matching root behavior (#3744) --- 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 c1198f64b9..a92b02450b 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 d379c536d0..34d079608f 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(); +});