Files

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

52 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

2025-12-01 07:25:25 +08:00
import makeString from "../../src/utilities/make-string.js";
2025-11-28 20:52:53 +08:00
const DOUBLE_QUOTE = '"';
const SINGLE_QUOTE = "'";
test("makeString", () => {
expect(makeString("a", DOUBLE_QUOTE)).toBe(`${DOUBLE_QUOTE}a${DOUBLE_QUOTE}`);
expect(makeString("a", SINGLE_QUOTE)).toBe(`${SINGLE_QUOTE}a${SINGLE_QUOTE}`);
expect(makeString(`a${DOUBLE_QUOTE}`, DOUBLE_QUOTE)).toBe(
`${DOUBLE_QUOTE}a\\${DOUBLE_QUOTE}${DOUBLE_QUOTE}`,
);
expect(makeString(`a${DOUBLE_QUOTE}`, SINGLE_QUOTE)).toBe(
`${SINGLE_QUOTE}a${DOUBLE_QUOTE}${SINGLE_QUOTE}`,
);
expect(makeString(`a${DOUBLE_QUOTE}`, DOUBLE_QUOTE)).toBe(
`${DOUBLE_QUOTE}a\\${DOUBLE_QUOTE}${DOUBLE_QUOTE}`,
);
expect(makeString(`a\\${DOUBLE_QUOTE}\\${SINGLE_QUOTE}`, DOUBLE_QUOTE)).toBe(
`${DOUBLE_QUOTE}a\\${DOUBLE_QUOTE}${SINGLE_QUOTE}${DOUBLE_QUOTE}`,
);
expect(makeString(`a\\${DOUBLE_QUOTE}\\${SINGLE_QUOTE}`, SINGLE_QUOTE)).toBe(
`${SINGLE_QUOTE}a${DOUBLE_QUOTE}\\${SINGLE_QUOTE}${SINGLE_QUOTE}`,
);
expect(
makeString(`a\\\\${DOUBLE_QUOTE}\\\\${SINGLE_QUOTE}`, DOUBLE_QUOTE),
).toBe(
`${DOUBLE_QUOTE}a\\\\\\${DOUBLE_QUOTE}\\\\${SINGLE_QUOTE}${DOUBLE_QUOTE}`,
);
expect(
makeString(`a\\\\${DOUBLE_QUOTE}\\\\${SINGLE_QUOTE}`, SINGLE_QUOTE),
).toBe(
`${SINGLE_QUOTE}a\\\\${DOUBLE_QUOTE}\\\\\\${SINGLE_QUOTE}${SINGLE_QUOTE}`,
);
expect(
makeString(`a\\\\\\${DOUBLE_QUOTE}\\\\\\${SINGLE_QUOTE}`, DOUBLE_QUOTE),
).toBe(
`${DOUBLE_QUOTE}a\\\\\\${DOUBLE_QUOTE}\\\\${SINGLE_QUOTE}${DOUBLE_QUOTE}`,
);
expect(
makeString(`a\\\\\\${DOUBLE_QUOTE}\\\\\\${SINGLE_QUOTE}`, SINGLE_QUOTE),
).toBe(
`${SINGLE_QUOTE}a\\\\${DOUBLE_QUOTE}\\\\\\${SINGLE_QUOTE}${SINGLE_QUOTE}`,
);
// Do not unescape `\a`
expect(makeString(String.raw`\a`, SINGLE_QUOTE)).toBe(
String.raw`${SINGLE_QUOTE}\a${SINGLE_QUOTE}`,
);
});