aboutsummaryrefslogtreecommitdiff
path: root/test/transpiler/macro-test.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/transpiler/macro-test.test.ts')
-rw-r--r--test/transpiler/macro-test.test.ts63
1 files changed, 62 insertions, 1 deletions
diff --git a/test/transpiler/macro-test.test.ts b/test/transpiler/macro-test.test.ts
index 73ef430e8..f3df00c5b 100644
--- a/test/transpiler/macro-test.test.ts
+++ b/test/transpiler/macro-test.test.ts
@@ -1,4 +1,4 @@
-import { identity } from "./macro.ts" assert { type: "macro" };
+import { identity, escape, addStringsUTF16, addStrings } from "./macro.ts" assert { type: "macro" };
test("latin1 string", () => {
expect(identity("©")).toBe("©");
@@ -8,6 +8,67 @@ test("ascii string", () => {
expect(identity("abc")).toBe("abc");
});
+test("escaping", () => {
+ expect(identity("\\")).toBe("\\");
+ expect(identity("\f")).toBe("\f");
+ expect(identity("\n")).toBe("\n");
+ expect(identity("\r")).toBe("\r");
+ expect(identity("\t")).toBe("\t");
+ expect(identity("\v")).toBe("\v");
+ expect(identity("\0")).toBe("\0");
+ expect(identity("'")).toBe("'");
+ expect(identity('"')).toBe('"');
+ expect(identity("`")).toBe("`");
+ // prettier-ignore
+ expect(identity("\'")).toBe("\'");
+ // prettier-ignore
+ expect(identity('\"')).toBe('\"');
+ // prettier-ignore
+ expect(identity("\`")).toBe("\`");
+ expect(identity("$")).toBe("$");
+ expect(identity("\x00")).toBe("\x00");
+ expect(identity("\x0B")).toBe("\x0B");
+ expect(identity("\x0C")).toBe("\x0C");
+
+ expect(identity("\\")).toBe("\\");
+
+ expect(escape()).toBe("\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C");
+
+ expect(addStrings("abc")).toBe("abc\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\n")).toBe("\n\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\r")).toBe("\r\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\t")).toBe("\t\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("©")).toBe("©\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\x00")).toBe("\x00\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\x0B")).toBe("\x0B\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\x0C")).toBe("\x0C\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\\")).toBe("\\\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\f")).toBe("\f\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\v")).toBe("\v\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("\0")).toBe("\0\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("'")).toBe("'\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings('"')).toBe('"\\\f\n\r\t\v\0\'"`$\x00\x0B\x0C©');
+ expect(addStrings("`")).toBe("`\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+ expect(addStrings("😊")).toBe("😊\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C©");
+
+ expect(addStringsUTF16("abc")).toBe("abc\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\n")).toBe("\n\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\r")).toBe("\r\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\t")).toBe("\t\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("©")).toBe("©\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\x00")).toBe("\x00\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\x0B")).toBe("\x0B\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\x0C")).toBe("\x0C\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\\")).toBe("\\\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\f")).toBe("\f\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\v")).toBe("\v\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("\0")).toBe("\0\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("'")).toBe("'\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16('"')).toBe('"\\\f\n\r\t\v\0\'"`$\x00\x0B\x0C😊');
+ expect(addStringsUTF16("`")).toBe("`\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+ expect(addStringsUTF16("😊")).toBe("😊\\\f\n\r\t\v\0'\"`$\x00\x0B\x0C😊");
+});
+
test("utf16 string", () => {
expect(identity("😊 Smiling Face with Smiling Eyes Emoji")).toBe("😊 Smiling Face with Smiling Eyes Emoji");
});