2025-12-05 22:03:45 +08:00
|
|
|
const blockStyles = ["|", ">", "|+", "|-", ">+", ">-"];
|
2026-06-08 18:16:28 +08:00
|
|
|
const trailingSpace = ["", " ".repeat(3), " \t"];
|
|
|
|
|
const newlines = ["", "\n", "\n\n", "\n".repeat(3)];
|
2025-12-05 22:03:45 +08:00
|
|
|
|
|
|
|
|
const snippets = blockStyles.flatMap((blockStyle) =>
|
|
|
|
|
trailingSpace.flatMap((space) =>
|
|
|
|
|
newlines.flatMap((lines) =>
|
|
|
|
|
[
|
|
|
|
|
`foo: ${blockStyle}\n${lines}`,
|
|
|
|
|
// `foo: ${blockStyle}\n ${space}${lines}`,
|
|
|
|
|
`foo: ${blockStyle}\n x\n${lines}`,
|
|
|
|
|
`foo: ${blockStyle}\n x\n${space}\n${lines}`,
|
|
|
|
|
].flatMap((code) => [code, `${code}\n...`]),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
runFormatTest(
|
|
|
|
|
{
|
|
|
|
|
importMeta: import.meta,
|
|
|
|
|
snippets: snippets.map((code) => ({
|
|
|
|
|
name: JSON.stringify(code),
|
|
|
|
|
code,
|
|
|
|
|
})),
|
|
|
|
|
},
|
|
|
|
|
["yaml"],
|
|
|
|
|
);
|
2026-08-24 21:39:42 +03:00
|
|
|
|
|
|
|
|
runFormatTest(
|
|
|
|
|
{
|
|
|
|
|
importMeta: import.meta,
|
|
|
|
|
snippets: [
|
|
|
|
|
{
|
|
|
|
|
name: "preserves trailing spaces in a stripped block literal",
|
|
|
|
|
code: "foo: |-\n value \n",
|
|
|
|
|
output: "foo: |-\n value \n",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "preserves trailing spaces before the next mapping item",
|
|
|
|
|
code: "foo: |-\n value \nbar: baz\n",
|
|
|
|
|
output: "foo: |-\n value \nbar: baz\n",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "preserves a trailing tab before the next sequence item",
|
|
|
|
|
code: "- >-\n value\t\n- next\n",
|
|
|
|
|
output: "- >-\n value\t\n- next\n",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "preserves trailing spaces before the next document",
|
|
|
|
|
code: "foo: |-\n value \n---\nbar: baz\n",
|
|
|
|
|
output: "foo: |-\n value \n---\nbar: baz\n",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
["yaml"],
|
|
|
|
|
);
|