aboutsummaryrefslogtreecommitdiff
path: root/integration/snippets/string-escapes.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-10-25 06:17:16 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-10-25 06:17:16 -0700
commiteae70511116b1b08fa11f77332f8a5aa21f7cd50 (patch)
treea26b5af69e3a3dd418a742cfc608924942cb3e3a /integration/snippets/string-escapes.js
parentadb6be05d1697d15edcddff6536d6dd6368e131e (diff)
downloadbun-eae70511116b1b08fa11f77332f8a5aa21f7cd50.tar.gz
bun-eae70511116b1b08fa11f77332f8a5aa21f7cd50.tar.zst
bun-eae70511116b1b08fa11f77332f8a5aa21f7cd50.zip
Add snapshots for latin1 regexp, add more codepoints to string escapes
Diffstat (limited to 'integration/snippets/string-escapes.js')
-rw-r--r--integration/snippets/string-escapes.js87
1 files changed, 87 insertions, 0 deletions
diff --git a/integration/snippets/string-escapes.js b/integration/snippets/string-escapes.js
index fd821f892..8d4eef725 100644
--- a/integration/snippets/string-escapes.js
+++ b/integration/snippets/string-escapes.js
@@ -1,3 +1,5 @@
+// To update this, copy paste the following into the console of the browser
+// ------------------------------------------------------------
var tab = "\t";
var シ = "wow";
var f = "";
@@ -16,11 +18,94 @@ var obj = {
"㋡": "㋡",
"☺": "☺",
シ: "シ",
+ "👋": "👋",
f: f,
"☹": "☹",
"☻": "☻",
children: 123,
};
+
+const encoder = new TextEncoder();
+const encodedObj = encoder.encode(JSON.stringify(obj));
+// ------------------------------------------------------------
+const correctEncodedObj = [
+ 123, 34, 92, 114, 92, 110, 34, 58, 34, 92, 114, 92, 110, 34, 44, 34, 92, 110,
+ 34, 58, 34, 92, 110, 34, 44, 34, 92, 116, 34, 58, 34, 92, 116, 34, 44, 34, 92,
+ 102, 34, 58, 34, 92, 102, 34, 44, 34, 92, 117, 48, 48, 48, 98, 34, 58, 34, 92,
+ 117, 48, 48, 48, 98, 34, 44, 34, 226, 128, 168, 34, 58, 34, 226, 128, 168, 34,
+ 44, 34, 226, 128, 169, 34, 58, 34, 226, 128, 169, 34, 44, 34, 240, 159, 152,
+ 138, 34, 58, 34, 240, 159, 152, 138, 34, 44, 34, 240, 159, 152, 131, 34, 58,
+ 34, 240, 159, 152, 131, 34, 44, 34, 240, 159, 149, 181, 240, 159, 143, 189,
+ 226, 128, 141, 226, 153, 130, 239, 184, 143, 34, 58, 34, 240, 159, 149, 181,
+ 240, 159, 143, 189, 226, 128, 141, 226, 153, 130, 239, 184, 143, 34, 44, 34,
+ 227, 139, 161, 34, 58, 34, 227, 139, 161, 34, 44, 34, 226, 152, 186, 34, 58,
+ 34, 226, 152, 186, 34, 44, 34, 227, 130, 183, 34, 58, 34, 227, 130, 183, 34,
+ 44, 34, 240, 159, 145, 139, 34, 58, 34, 240, 159, 145, 139, 34, 44, 34, 102,
+ 34, 58, 34, 226, 130, 135, 34, 44, 34, 226, 152, 185, 34, 58, 34, 226, 152,
+ 185, 34, 44, 34, 226, 152, 187, 34, 58, 34, 226, 152, 187, 34, 44, 34, 99,
+ 104, 105, 108, 100, 114, 101, 110, 34, 58, 49, 50, 51, 125,
+];
+
+const jsxVariants = (
+ <>
+ "\r\n": "\r\n", "\n": "\n", "\t": "\t", "\f": "\f", "\v": "\v", "\u2028":
+ "\u2028", "\u2029": "\u2029", "😊": "😊", "😃": "😃", "🕵🏽‍♂️": "🕵🏽‍♂️", "㋡":
+ "㋡", "☺": "☺", シ: "シ", "👋": "👋", f: f, "☹": "☹", "☻": "☻", children:
+ 123,
+ <div data="\r\n" />
+ <div data="\n" />
+ <div data="\t" />
+ <div data="\f" />
+ <div data="\v" />
+ <div data="\u2028" />
+ <div data="\u2029" />
+ <div data="😊" />
+ <div data="😃" />
+ <div data="🕵🏽‍♂️" />
+ <div data="㋡" />
+ <div data="☺" />
+ <div data="シ" />
+ <div data="👋" />
+ <div data="☹" />
+ <div data="☻" />
+ <div data="123" />
+ <div key="\r\n" />
+ <div>\r\n</div>
+ <div key="\n" />
+ <div>\n</div>
+ <div key="\t" />
+ <div>\t</div>
+ <div key="\f" />
+ <div>\f</div>
+ <div key="\v" />
+ <div>\v</div>
+ <div key="\u2028" />
+ <div>\u2028</div>
+ <div key="\u2029" />
+ <div>\u2029</div>
+ <div key="😊" />
+ <div>😊</div>
+ <div key="😃" />
+ <div>😃</div>
+ <div key="🕵🏽‍♂️" />
+ <div>🕵🏽‍♂️</div>
+ <div key="㋡" />
+ <div>㋡</div>
+ <div key="☺" />
+ <div>☺</div>
+ <div key="シ" />
+ <div>シ</div>
+ <div key="👋" />
+ <div>👋</div>
+ <div key="☹" />
+ <div>☹</div>
+ <div key="☻" />
+ <div>☻</div>
+ <div key="123" />
+ <div>123</div>
+ </>
+);
+
const foo = () => {};
const Bar = foo("a", {
children: 123,
@@ -35,5 +120,7 @@ export function test() {
console.assert(carriage === "\r\n");
console.assert(newline === "\n");
console.assert(tab === "\t");
+ console.assert(correctEncodedObj.length === encodedObj.length);
+ console.assert(correctEncodedObj.every((v, i) => v === encodedObj[i]));
return testDone(import.meta.url);
}