fix(yaml): escape to disambiguate yaml arrays

This commit is contained in:
Pavel Feldman 2024-12-19 10:29:11 -08:00
parent 9c14cccc24
commit 4d4acf9090
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]"
`);
});