86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
import { outdent } from "outdent";
|
|
|
|
runFormatTest(import.meta, ["glimmer"], {
|
|
htmlWhitespaceSensitivity: "ignore",
|
|
printWidth: 40,
|
|
});
|
|
runFormatTest(
|
|
{
|
|
importMeta: import.meta,
|
|
snippets: [
|
|
// single
|
|
// https://developer.mozilla.org/en-US/docs/Glossary/Whitespace#In_HTML
|
|
...["\u0009", "\u000C", "\u0020"].map((textContent) => ({
|
|
code: `<div>${textContent}</div>`,
|
|
name: "content",
|
|
output: "<div> </div>",
|
|
})),
|
|
...["\u000A", "\u000D"].map((textContent) => ({
|
|
code: `<div>${textContent}</div>`,
|
|
name: "content",
|
|
output: "<div>\n</div>",
|
|
})),
|
|
|
|
// many
|
|
{
|
|
code: "<div>\u0009\u000A\u000C\u000D\u0020</div>",
|
|
output: "<div>\n\n</div>",
|
|
},
|
|
|
|
// single
|
|
...["\u0009", "\u000C", "\u0020"].map((textContent) => ({
|
|
code: `<img/>${textContent}<img/>`,
|
|
name: "between",
|
|
output: "<img /> <img />",
|
|
})),
|
|
...["\u000A", "\u000D"].map((textContent) => ({
|
|
code: `<img/>${textContent}<img/>`,
|
|
name: "between",
|
|
output: "<img />\n<img />",
|
|
})),
|
|
|
|
// many
|
|
{
|
|
code: "<img/>\u0009\u000A\u000C\u000D\u0020<img/>",
|
|
output: "<img />\n\n<img />",
|
|
},
|
|
|
|
// non-space
|
|
...[
|
|
"\u2005",
|
|
" \u2005 ",
|
|
" \u2005\u2005 ",
|
|
" \u2005 \u2005 ",
|
|
].map((textContent) => `<div>${textContent}</div>`),
|
|
|
|
...[
|
|
"\u2005",
|
|
" \u2005 ",
|
|
" \u2005\u2005 ",
|
|
" \u2005 \u2005 ",
|
|
].map((textContent) => `<img/>${textContent}<img/>`),
|
|
|
|
"<i /> \u2005 | \u2005 <i />",
|
|
|
|
"<p><span>X</span> \u2005 or \u2005 <span>Y</span></p><p>X \u2005 or \u2005 Y</p>",
|
|
|
|
{
|
|
name: "`U+2005` should format like `U+005F` not like `U+0020`",
|
|
code: outdent`
|
|
<!-- U+2005 -->
|
|
<div>before<span>\u2005</span>afterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafter</div>
|
|
<!-- U+005F -->
|
|
<div>before<span>\u005F</span>afterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafter</div>
|
|
<!-- U+0020 -->
|
|
<div>before<span>\u0020</span>afterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafterafter</div>
|
|
`,
|
|
},
|
|
],
|
|
},
|
|
["glimmer"],
|
|
{
|
|
htmlWhitespaceSensitivity: "strict",
|
|
printWidth: 40,
|
|
},
|
|
);
|