mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
fix: fix escaping algo for P selectors (#10474)
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
<span id="f"></span>
|
||||
<div id="c"></div>
|
||||
</div>
|
||||
<a>My name is Jun (pronounced like "June")</a>
|
||||
|
||||
<script>
|
||||
const topShadow = document.querySelector('#c');
|
||||
|
||||
@@ -637,5 +637,26 @@ describe('Query handler tests', function () {
|
||||
const elements = await page.$$('::-p-text(world), button');
|
||||
expect(elements).toHaveLength(1);
|
||||
});
|
||||
|
||||
it('should handle escapes', async () => {
|
||||
const {server, page} = await getTestState();
|
||||
await page.goto(`${server.PREFIX}/p-selectors.html`);
|
||||
let element = await page.$(
|
||||
':scope >>> ::-p-text(My name is Jun \\(pronounced like "June"\\))'
|
||||
);
|
||||
expect(element).toBeTruthy();
|
||||
element = await page.$(
|
||||
':scope >>> ::-p-text("My name is Jun (pronounced like \\"June\\")")'
|
||||
);
|
||||
expect(element).toBeTruthy();
|
||||
element = await page.$(
|
||||
':scope >>> ::-p-text(My name is Jun \\(pronounced like "June"\\)")'
|
||||
);
|
||||
expect(element).toBeFalsy();
|
||||
element = await page.$(
|
||||
':scope >>> ::-p-text("My name is Jun \\(pronounced like "June"\\))'
|
||||
);
|
||||
expect(element).toBeFalsy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user