Files
test-repo/tests/format/json/json-superset/format.test.js
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

78 lines
2.5 KiB
JavaScript
Raw Normal View History

2021-03-14 21:04:35 +08:00
const LINE_SEPARATOR = "\u2028";
const PARAGRAPH_SEPARATOR = "\u2029";
const SPACE = " ";
const LINE_FEED = "\n";
const UNDERSCORE = "_";
const BACKSLASH = "\\";
const SINGLE_QUOTE = "'";
const DOUBLE_QUOTE = '"';
const characters = [LINE_SEPARATOR, PARAGRAPH_SEPARATOR, UNDERSCORE, SPACE];
const characterCode = (character) =>
`U+${character.charCodeAt(0).toString(16).toUpperCase().padStart(4, "0")}`;
runFormatTest(
2021-03-14 21:04:35 +08:00
{
2022-01-04 17:00:25 +08:00
importMeta: import.meta,
2021-03-14 21:04:35 +08:00
snippets: [
...characters.map((character) => ({
name: `json(${characterCode(character)})`,
code: SINGLE_QUOTE + character + SINGLE_QUOTE,
output: DOUBLE_QUOTE + character + DOUBLE_QUOTE + LINE_FEED,
})),
...[...characters, LINE_FEED].map((character) => ({
name: `json(\\${characterCode(character)})`,
code: SINGLE_QUOTE + BACKSLASH + character + SINGLE_QUOTE,
output:
character === UNDERSCORE || character === SPACE
? DOUBLE_QUOTE + BACKSLASH + character + DOUBLE_QUOTE + LINE_FEED
2021-03-14 21:04:35 +08:00
: DOUBLE_QUOTE + BACKSLASH + character + DOUBLE_QUOTE + LINE_FEED,
})),
...characters.map((character) => ({
name: `json(\\\\${characterCode(character)})`,
code: SINGLE_QUOTE + BACKSLASH + BACKSLASH + character + SINGLE_QUOTE,
output:
DOUBLE_QUOTE +
BACKSLASH +
BACKSLASH +
character +
DOUBLE_QUOTE +
LINE_FEED,
})),
],
},
["json", "json5"],
);
runFormatTest(
2021-03-14 21:04:35 +08:00
{
2022-01-04 17:00:25 +08:00
importMeta: import.meta,
2021-03-14 21:04:35 +08:00
snippets: [
...characters.map((character) => ({
name: `json-stringify(${characterCode(character)})`,
code: SINGLE_QUOTE + character + SINGLE_QUOTE,
output: DOUBLE_QUOTE + character + DOUBLE_QUOTE + LINE_FEED,
})),
...[...characters, LINE_FEED].map((character) => ({
name: `json-stringify(\\${characterCode(character)})`,
code: SINGLE_QUOTE + BACKSLASH + character + SINGLE_QUOTE,
output:
character === UNDERSCORE || character === SPACE
? DOUBLE_QUOTE + character + DOUBLE_QUOTE + LINE_FEED
: DOUBLE_QUOTE + DOUBLE_QUOTE + LINE_FEED,
})),
...characters.map((character) => ({
name: `json-stringify(\\\\${characterCode(character)})`,
code: SINGLE_QUOTE + BACKSLASH + BACKSLASH + character + SINGLE_QUOTE,
output:
DOUBLE_QUOTE +
BACKSLASH +
BACKSLASH +
character +
DOUBLE_QUOTE +
LINE_FEED,
})),
],
},
["json-stringify"],
);