fix(yaml): escape to disambiguate yaml arrays (#34096)

This commit is contained in:
Pavel Feldman 2024-12-19 12:46:54 -08:00 committed by GitHub
parent ec1d3313c3
commit 6505a3e34c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View file

@ -82,6 +82,10 @@ function yamlStringNeedsQuotes(str: string): boolean {
if (/[{}`]/.test(str))
return true;
// YAML array starts with [
if (/^\[/.test(str))
return true;
// Non-string types recognized by YAML
if (!isNaN(Number(str)) || ['y', 'n', 'yes', 'no', 'true', 'false', 'on', 'off', 'null'].includes(str.toLowerCase()))
return true;

View file

@ -482,6 +482,7 @@ it('should escape yaml text in text nodes', async ({ page }) => {
{<a href="#">four</a>}
[<a href="#">five</a>]
</ul>
<div>[Select all]</div>
`);
await checkAndMatchSnapshot(page.locator('body'), `
@ -504,6 +505,7 @@ it('should escape yaml text in text nodes', async ({ page }) => {
- text: "} ["
- link "five"
- text: "]"
- text: "[Select all]"
`);
});