diff options
Diffstat (limited to 'integration/snapshots')
10 files changed, 1912 insertions, 8 deletions
diff --git a/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.debug.js b/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.debug.js index d9f64c5b9..53bb66b5e 100644 --- a/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.debug.js +++ b/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.debug.js @@ -24,9 +24,10 @@ export default __cJS2eSM(function(module, exports) { require(_login_b977_0); require(_login_b977_1); Object.defineProperty(module.exports,"login",{get: () => _login, enumerable: true, configurable: true}); - var test = function test() { + function test() { return testDone(import.meta.url); }; +var test = test; Object.defineProperty(module.exports,"test",{get: () => test, enumerable: true, configurable: true}); let foo, bar; Object.defineProperties(module.exports,{'foo': {get: () => foo, set: ($_newValue) => {foo = $_newValue;}, enumerable: true, configurable: true}, diff --git a/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.hmr.debug.js b/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.hmr.debug.js index d8e3ccdd1..fa25e2df8 100644 --- a/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.hmr.debug.js +++ b/integration/snapshots/cjs-transform-shouldnt-have-static-imports-in-cjs-function.hmr.debug.js @@ -24,9 +24,10 @@ export default __cJS2eSM(function(module, exports) { require(_login_b977_0); require(_login_b977_1); Object.defineProperty(module.exports,"login",{get: () => _login, enumerable: true, configurable: true}); - var test = function test() { + function test() { return testDone(import.meta.url); }; +var test = test; Object.defineProperty(module.exports,"test",{get: () => test, enumerable: true, configurable: true}); var foo, bar; Object.defineProperties(module.exports,{'foo': {get: () => foo, set: ($_newValue) => {foo = $_newValue;}, enumerable: true, configurable: true}, diff --git a/integration/snapshots/latin1-chars-in-regexp.debug.js b/integration/snapshots/latin1-chars-in-regexp.debug.js new file mode 100644 index 000000000..42217319b --- /dev/null +++ b/integration/snapshots/latin1-chars-in-regexp.debug.js @@ -0,0 +1,68 @@ +var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; +var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; +var re_btou = new RegExp([ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" +].join("|"), "g"); +const encoder = new TextEncoder; +const realLines = [ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" +]; +const real = realLines.map((input) => Array.from(encoder.encode(input))); +const expected = [ + [91, 195, 128, 45, 195, 159, 93, 91, 194, 128, 45, 194, 191, 93], + [ + 91, + 195, + 160, + 45, + 195, + 175, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 50, + 125 + ], + [ + 91, + 195, + 176, + 45, + 195, + 183, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 51, + 125 + ] +]; +const newlinePreserved = `\n`; +export function test() { + if (!real.every((point, i) => point.every((val, j) => val === expected[i][j]))) + throw new Error(`test failed +${JSON.stringify({expected, real }, null, 2)}`); + if (newlinePreserved.length !== 1 || newlinePreserved.charCodeAt(0) !== 10) + throw new Error("Newline was not preserved"); + const decoder = new TextDecoder("utf8"); + if (!realLines.every((line, i) => decoder.decode(Uint8Array.from(expected[i])) === line)) + throw new Error(`test failed. Lines did not match. +${JSON.stringify({expected, real }, null, 2)}`); + testDone(import.meta.url); +} diff --git a/integration/snapshots/latin1-chars-in-regexp.hmr.debug.js b/integration/snapshots/latin1-chars-in-regexp.hmr.debug.js new file mode 100644 index 000000000..f0e79c488 --- /dev/null +++ b/integration/snapshots/latin1-chars-in-regexp.hmr.debug.js @@ -0,0 +1,90 @@ +import { +__HMRModule as HMR +} from "http://localhost:8080/__runtime.js"; +import { +__HMRClient as Bun +} from "http://localhost:8080/__runtime.js"; +Bun.activate(true); + +var hmr = new HMR(1430071586, "latin1-chars-in-regexp.js"), exports = hmr.exports; +(hmr._load = function() { + var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; + var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; + var re_btou = new RegExp([ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" + ].join("|"), "g"); + const encoder = new TextEncoder; + const realLines = [ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" + ]; + const real = realLines.map((input) => Array.from(encoder.encode(input))); + const expected = [ + [91, 195, 128, 45, 195, 159, 93, 91, 194, 128, 45, 194, 191, 93], + [ + 91, + 195, + 160, + 45, + 195, + 175, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 50, + 125 + ], + [ + 91, + 195, + 176, + 45, + 195, + 183, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 51, + 125 + ] + ]; + const newlinePreserved = `\n`; + function test() { + if (!real.every((point, i) => point.every((val, j) => val === expected[i][j]))) + throw new Error(`test failed +${JSON.stringify({expected, real }, null, 2)}`); + if (newlinePreserved.length !== 1 || newlinePreserved.charCodeAt(0) !== 10) + throw new Error("Newline was not preserved"); + const decoder = new TextDecoder("utf8"); + if (!realLines.every((line, i) => decoder.decode(Uint8Array.from(expected[i])) === line)) + throw new Error(`test failed. Lines did not match. +${JSON.stringify({expected, real }, null, 2)}`); + testDone(import.meta.url); + } + hmr.exportAll({ + test: () => test + }); +})(); +var $$hmr_test = hmr.exports.test; +hmr._update = function(exports) { + $$hmr_test = exports.test; +}; + +export { + $$hmr_test as test +}; diff --git a/integration/snapshots/latin1-chars-in-regexp.hmr.js b/integration/snapshots/latin1-chars-in-regexp.hmr.js new file mode 100644 index 000000000..03b9344e4 --- /dev/null +++ b/integration/snapshots/latin1-chars-in-regexp.hmr.js @@ -0,0 +1,90 @@ +import { +__HMRModule as HMR +} from "http://localhost:8080/__runtime.js"; +import { +__HMRClient as Bun +} from "http://localhost:8080/__runtime.js"; +Bun.activate(false); + +var hmr = new HMR(1430071586, "latin1-chars-in-regexp.js"), exports = hmr.exports; +(hmr._load = function() { + var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; + var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; + var re_btou = new RegExp([ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" + ].join("|"), "g"); + const encoder = new TextEncoder; + const realLines = [ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" + ]; + const real = realLines.map((input) => Array.from(encoder.encode(input))); + const expected = [ + [91, 195, 128, 45, 195, 159, 93, 91, 194, 128, 45, 194, 191, 93], + [ + 91, + 195, + 160, + 45, + 195, + 175, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 50, + 125 + ], + [ + 91, + 195, + 176, + 45, + 195, + 183, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 51, + 125 + ] + ]; + const newlinePreserved = `\n`; + function test() { + if (!real.every((point, i) => point.every((val, j) => val === expected[i][j]))) + throw new Error(`test failed +${JSON.stringify({expected, real }, null, 2)}`); + if (newlinePreserved.length !== 1 || newlinePreserved.charCodeAt(0) !== 10) + throw new Error("Newline was not preserved"); + const decoder = new TextDecoder("utf8"); + if (!realLines.every((line, i) => decoder.decode(Uint8Array.from(expected[i])) === line)) + throw new Error(`test failed. Lines did not match. +${JSON.stringify({expected, real }, null, 2)}`); + testDone(import.meta.url); + } + hmr.exportAll({ + test: () => test + }); +})(); +var $$hmr_test = hmr.exports.test; +hmr._update = function(exports) { + $$hmr_test = exports.test; +}; + +export { + $$hmr_test as test +}; diff --git a/integration/snapshots/latin1-chars-in-regexp.js b/integration/snapshots/latin1-chars-in-regexp.js new file mode 100644 index 000000000..42217319b --- /dev/null +++ b/integration/snapshots/latin1-chars-in-regexp.js @@ -0,0 +1,68 @@ +var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; +var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; +var re_btou = new RegExp([ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" +].join("|"), "g"); +const encoder = new TextEncoder; +const realLines = [ + "[\xC0-\xDF][\x80-\xBF]", + "[\xE0-\xEF][\x80-\xBF]{2}", + "[\xF0-\xF7][\x80-\xBF]{3}" +]; +const real = realLines.map((input) => Array.from(encoder.encode(input))); +const expected = [ + [91, 195, 128, 45, 195, 159, 93, 91, 194, 128, 45, 194, 191, 93], + [ + 91, + 195, + 160, + 45, + 195, + 175, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 50, + 125 + ], + [ + 91, + 195, + 176, + 45, + 195, + 183, + 93, + 91, + 194, + 128, + 45, + 194, + 191, + 93, + 123, + 51, + 125 + ] +]; +const newlinePreserved = `\n`; +export function test() { + if (!real.every((point, i) => point.every((val, j) => val === expected[i][j]))) + throw new Error(`test failed +${JSON.stringify({expected, real }, null, 2)}`); + if (newlinePreserved.length !== 1 || newlinePreserved.charCodeAt(0) !== 10) + throw new Error("Newline was not preserved"); + const decoder = new TextDecoder("utf8"); + if (!realLines.every((line, i) => decoder.decode(Uint8Array.from(expected[i])) === line)) + throw new Error(`test failed. Lines did not match. +${JSON.stringify({expected, real }, null, 2)}`); + testDone(import.meta.url); +} diff --git a/integration/snapshots/string-escapes.debug.js b/integration/snapshots/string-escapes.debug.js index 05d9c4ce2..890d8355d 100644 --- a/integration/snapshots/string-escapes.debug.js +++ b/integration/snapshots/string-escapes.debug.js @@ -1,22 +1,417 @@ +import { +__require as require +} from "http://localhost:8080/__runtime.js"; +import * as JSX from "http://localhost:8080/node_modules/react/jsx-dev-runtime.js"; +import * as $bbcd215f from "http://localhost:8080/node_modules/react/index.js"; +var JSXClassic = require($bbcd215f); +var jsx = require(JSX).jsxDEV, JSXFrag = require(JSXClassic).Fragment; + var tab = "\t"; var シ = "wow"; var f = ""; +var f = "₇"; var obj = { "\r\n": "\r\n", "\n": "\n", "\t": "\t", + "\f": "\f", + "\v": "\v", "\u2028": "\u2028", "\u2029": "\u2029", "😊": "😊", "😃": "😃", + "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", + "👋": "👋", 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 = jsx(JSXFrag, { + children: [ + '"\\r\\n": "\\r\\n", "\\n": "\\n", "\\t": "\\t", "\\f": "\\f", "\\v": "\\v", "\\u2028": "\\u2028", "\\u2029": "\\u2029", "😊": "😊", "😃": "😃", "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", "👋": "👋", f: f, "☹": "☹", "☻": "☻", children: 123,', + jsx("div", { + data: "\r\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\t" + }, undefined, false, undefined, this), + jsx("div", { + data: "\f" + }, undefined, false, undefined, this), + jsx("div", { + data: "\v" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2028" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2029" + }, undefined, false, undefined, this), + jsx("div", { + data: "😊" + }, undefined, false, undefined, this), + jsx("div", { + data: "😃" + }, undefined, false, undefined, this), + jsx("div", { + data: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", { + data: "㋡" + }, undefined, false, undefined, this), + jsx("div", { + data: "☺" + }, undefined, false, undefined, this), + jsx("div", { + data: "シ" + }, undefined, false, undefined, this), + jsx("div", { + data: "👋" + }, undefined, false, undefined, this), + jsx("div", { + data: "☹" + }, undefined, false, undefined, this), + jsx("div", { + data: "☻" + }, undefined, false, undefined, this), + jsx("div", { + data: "123" + }, undefined, false, undefined, this), + jsx("div", {}, "\r\n", false, undefined, this), + jsx("div", { + children: "\r\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\n", false, undefined, this), + jsx("div", { + children: "\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\t", false, undefined, this), + jsx("div", { + children: "\t" + }, undefined, false, undefined, this), + jsx("div", {}, "\f", false, undefined, this), + jsx("div", { + children: "\f" + }, undefined, false, undefined, this), + jsx("div", {}, "\v", false, undefined, this), + jsx("div", { + children: "\v" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2028", false, undefined, this), + jsx("div", { + children: "\u2028" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2029", false, undefined, this), + jsx("div", { + children: "\u2029" + }, undefined, false, undefined, this), + jsx("div", {}, "😊", false, undefined, this), + jsx("div", { + children: "😊" + }, undefined, false, undefined, this), + jsx("div", {}, "😃", false, undefined, this), + jsx("div", { + children: "😃" + }, undefined, false, undefined, this), + jsx("div", {}, "🕵🏽♂️", false, undefined, this), + jsx("div", { + children: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", {}, "㋡", false, undefined, this), + jsx("div", { + children: "㋡" + }, undefined, false, undefined, this), + jsx("div", {}, "☺", false, undefined, this), + jsx("div", { + children: "☺" + }, undefined, false, undefined, this), + jsx("div", {}, "シ", false, undefined, this), + jsx("div", { + children: "シ" + }, undefined, false, undefined, this), + jsx("div", {}, "👋", false, undefined, this), + jsx("div", { + children: "👋" + }, undefined, false, undefined, this), + jsx("div", {}, "☹", false, undefined, this), + jsx("div", { + children: "☹" + }, undefined, false, undefined, this), + jsx("div", {}, "☻", false, undefined, this), + jsx("div", { + children: "☻" + }, undefined, false, undefined, this), + jsx("div", {}, "123", false, undefined, this), + jsx("div", { + children: "123" + }, undefined, false, undefined, this) + ] +}, undefined, true, undefined, this); const foo = () => { }; const Bar = foo("a", { @@ -30,5 +425,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); } diff --git a/integration/snapshots/string-escapes.hmr.debug.js b/integration/snapshots/string-escapes.hmr.debug.js index bc866d834..979c5da7e 100644 --- a/integration/snapshots/string-escapes.hmr.debug.js +++ b/integration/snapshots/string-escapes.hmr.debug.js @@ -1,32 +1,426 @@ import { -__HMRModule as HMR +__HMRClient as Bun } from "http://localhost:8080/__runtime.js"; import { -__HMRClient as Bun +__require as require } from "http://localhost:8080/__runtime.js"; -Bun.activate(true); +import { +__HMRModule as HMR +} from "http://localhost:8080/__runtime.js"; +import * as JSX from "http://localhost:8080/node_modules/react/jsx-dev-runtime.js"; +import * as $bbcd215f from "http://localhost:8080/node_modules/react/index.js"; +var JSXClassic = require($bbcd215f); +var jsx = require(JSX).jsxDEV, JSXFrag = require(JSXClassic).Fragment; +Bun.activate(true); var hmr = new HMR(2482749838, "string-escapes.js"), exports = hmr.exports; (hmr._load = function() { var tab = "\t"; var シ = "wow"; var f = ""; + var f = "₇"; var obj = { "\r\n": "\r\n", "\n": "\n", "\t": "\t", + "\f": "\f", + "\v": "\v", "\u2028": "\u2028", "\u2029": "\u2029", "😊": "😊", "😃": "😃", + "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", + "👋": "👋", 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 = jsx(JSXFrag, { + children: [ + '"\\r\\n": "\\r\\n", "\\n": "\\n", "\\t": "\\t", "\\f": "\\f", "\\v": "\\v", "\\u2028": "\\u2028", "\\u2029": "\\u2029", "😊": "😊", "😃": "😃", "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", "👋": "👋", f: f, "☹": "☹", "☻": "☻", children: 123,', + jsx("div", { + data: "\r\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\t" + }, undefined, false, undefined, this), + jsx("div", { + data: "\f" + }, undefined, false, undefined, this), + jsx("div", { + data: "\v" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2028" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2029" + }, undefined, false, undefined, this), + jsx("div", { + data: "😊" + }, undefined, false, undefined, this), + jsx("div", { + data: "😃" + }, undefined, false, undefined, this), + jsx("div", { + data: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", { + data: "㋡" + }, undefined, false, undefined, this), + jsx("div", { + data: "☺" + }, undefined, false, undefined, this), + jsx("div", { + data: "シ" + }, undefined, false, undefined, this), + jsx("div", { + data: "👋" + }, undefined, false, undefined, this), + jsx("div", { + data: "☹" + }, undefined, false, undefined, this), + jsx("div", { + data: "☻" + }, undefined, false, undefined, this), + jsx("div", { + data: "123" + }, undefined, false, undefined, this), + jsx("div", {}, "\r\n", false, undefined, this), + jsx("div", { + children: "\r\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\n", false, undefined, this), + jsx("div", { + children: "\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\t", false, undefined, this), + jsx("div", { + children: "\t" + }, undefined, false, undefined, this), + jsx("div", {}, "\f", false, undefined, this), + jsx("div", { + children: "\f" + }, undefined, false, undefined, this), + jsx("div", {}, "\v", false, undefined, this), + jsx("div", { + children: "\v" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2028", false, undefined, this), + jsx("div", { + children: "\u2028" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2029", false, undefined, this), + jsx("div", { + children: "\u2029" + }, undefined, false, undefined, this), + jsx("div", {}, "😊", false, undefined, this), + jsx("div", { + children: "😊" + }, undefined, false, undefined, this), + jsx("div", {}, "😃", false, undefined, this), + jsx("div", { + children: "😃" + }, undefined, false, undefined, this), + jsx("div", {}, "🕵🏽♂️", false, undefined, this), + jsx("div", { + children: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", {}, "㋡", false, undefined, this), + jsx("div", { + children: "㋡" + }, undefined, false, undefined, this), + jsx("div", {}, "☺", false, undefined, this), + jsx("div", { + children: "☺" + }, undefined, false, undefined, this), + jsx("div", {}, "シ", false, undefined, this), + jsx("div", { + children: "シ" + }, undefined, false, undefined, this), + jsx("div", {}, "👋", false, undefined, this), + jsx("div", { + children: "👋" + }, undefined, false, undefined, this), + jsx("div", {}, "☹", false, undefined, this), + jsx("div", { + children: "☹" + }, undefined, false, undefined, this), + jsx("div", {}, "☻", false, undefined, this), + jsx("div", { + children: "☻" + }, undefined, false, undefined, this), + jsx("div", {}, "123", false, undefined, this), + jsx("div", { + children: "123" + }, undefined, false, undefined, this) + ] + }, undefined, true, undefined, this); const foo = () => { }; const Bar = foo("a", { @@ -38,6 +432,8 @@ var hmr = new HMR(2482749838, "string-escapes.js"), exports = hmr.exports; 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); } hmr.exportAll({ diff --git a/integration/snapshots/string-escapes.hmr.js b/integration/snapshots/string-escapes.hmr.js index 9231cb6cf..ef03d89e1 100644 --- a/integration/snapshots/string-escapes.hmr.js +++ b/integration/snapshots/string-escapes.hmr.js @@ -1,32 +1,426 @@ import { -__HMRModule as HMR +__HMRClient as Bun } from "http://localhost:8080/__runtime.js"; import { -__HMRClient as Bun +__require as require } from "http://localhost:8080/__runtime.js"; -Bun.activate(false); +import { +__HMRModule as HMR +} from "http://localhost:8080/__runtime.js"; +import * as JSX from "http://localhost:8080/node_modules/react/jsx-dev-runtime.js"; +import * as $bbcd215f from "http://localhost:8080/node_modules/react/index.js"; +var JSXClassic = require($bbcd215f); +var jsx = require(JSX).jsxDEV, JSXFrag = require(JSXClassic).Fragment; +Bun.activate(false); var hmr = new HMR(2482749838, "string-escapes.js"), exports = hmr.exports; (hmr._load = function() { var tab = "\t"; var シ = "wow"; var f = ""; + var f = "₇"; var obj = { "\r\n": "\r\n", "\n": "\n", "\t": "\t", + "\f": "\f", + "\v": "\v", "\u2028": "\u2028", "\u2029": "\u2029", "😊": "😊", "😃": "😃", + "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", + "👋": "👋", 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 = jsx(JSXFrag, { + children: [ + '"\\r\\n": "\\r\\n", "\\n": "\\n", "\\t": "\\t", "\\f": "\\f", "\\v": "\\v", "\\u2028": "\\u2028", "\\u2029": "\\u2029", "😊": "😊", "😃": "😃", "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", "👋": "👋", f: f, "☹": "☹", "☻": "☻", children: 123,', + jsx("div", { + data: "\r\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\t" + }, undefined, false, undefined, this), + jsx("div", { + data: "\f" + }, undefined, false, undefined, this), + jsx("div", { + data: "\v" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2028" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2029" + }, undefined, false, undefined, this), + jsx("div", { + data: "😊" + }, undefined, false, undefined, this), + jsx("div", { + data: "😃" + }, undefined, false, undefined, this), + jsx("div", { + data: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", { + data: "㋡" + }, undefined, false, undefined, this), + jsx("div", { + data: "☺" + }, undefined, false, undefined, this), + jsx("div", { + data: "シ" + }, undefined, false, undefined, this), + jsx("div", { + data: "👋" + }, undefined, false, undefined, this), + jsx("div", { + data: "☹" + }, undefined, false, undefined, this), + jsx("div", { + data: "☻" + }, undefined, false, undefined, this), + jsx("div", { + data: "123" + }, undefined, false, undefined, this), + jsx("div", {}, "\r\n", false, undefined, this), + jsx("div", { + children: "\r\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\n", false, undefined, this), + jsx("div", { + children: "\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\t", false, undefined, this), + jsx("div", { + children: "\t" + }, undefined, false, undefined, this), + jsx("div", {}, "\f", false, undefined, this), + jsx("div", { + children: "\f" + }, undefined, false, undefined, this), + jsx("div", {}, "\v", false, undefined, this), + jsx("div", { + children: "\v" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2028", false, undefined, this), + jsx("div", { + children: "\u2028" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2029", false, undefined, this), + jsx("div", { + children: "\u2029" + }, undefined, false, undefined, this), + jsx("div", {}, "😊", false, undefined, this), + jsx("div", { + children: "😊" + }, undefined, false, undefined, this), + jsx("div", {}, "😃", false, undefined, this), + jsx("div", { + children: "😃" + }, undefined, false, undefined, this), + jsx("div", {}, "🕵🏽♂️", false, undefined, this), + jsx("div", { + children: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", {}, "㋡", false, undefined, this), + jsx("div", { + children: "㋡" + }, undefined, false, undefined, this), + jsx("div", {}, "☺", false, undefined, this), + jsx("div", { + children: "☺" + }, undefined, false, undefined, this), + jsx("div", {}, "シ", false, undefined, this), + jsx("div", { + children: "シ" + }, undefined, false, undefined, this), + jsx("div", {}, "👋", false, undefined, this), + jsx("div", { + children: "👋" + }, undefined, false, undefined, this), + jsx("div", {}, "☹", false, undefined, this), + jsx("div", { + children: "☹" + }, undefined, false, undefined, this), + jsx("div", {}, "☻", false, undefined, this), + jsx("div", { + children: "☻" + }, undefined, false, undefined, this), + jsx("div", {}, "123", false, undefined, this), + jsx("div", { + children: "123" + }, undefined, false, undefined, this) + ] + }, undefined, true, undefined, this); const foo = () => { }; const Bar = foo("a", { @@ -38,6 +432,8 @@ var hmr = new HMR(2482749838, "string-escapes.js"), exports = hmr.exports; 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); } hmr.exportAll({ diff --git a/integration/snapshots/string-escapes.js b/integration/snapshots/string-escapes.js index 05d9c4ce2..890d8355d 100644 --- a/integration/snapshots/string-escapes.js +++ b/integration/snapshots/string-escapes.js @@ -1,22 +1,417 @@ +import { +__require as require +} from "http://localhost:8080/__runtime.js"; +import * as JSX from "http://localhost:8080/node_modules/react/jsx-dev-runtime.js"; +import * as $bbcd215f from "http://localhost:8080/node_modules/react/index.js"; +var JSXClassic = require($bbcd215f); +var jsx = require(JSX).jsxDEV, JSXFrag = require(JSXClassic).Fragment; + var tab = "\t"; var シ = "wow"; var f = ""; +var f = "₇"; var obj = { "\r\n": "\r\n", "\n": "\n", "\t": "\t", + "\f": "\f", + "\v": "\v", "\u2028": "\u2028", "\u2029": "\u2029", "😊": "😊", "😃": "😃", + "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", + "👋": "👋", 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 = jsx(JSXFrag, { + children: [ + '"\\r\\n": "\\r\\n", "\\n": "\\n", "\\t": "\\t", "\\f": "\\f", "\\v": "\\v", "\\u2028": "\\u2028", "\\u2029": "\\u2029", "😊": "😊", "😃": "😃", "🕵🏽♂️": "🕵🏽♂️", "㋡": "㋡", "☺": "☺", シ: "シ", "👋": "👋", f: f, "☹": "☹", "☻": "☻", children: 123,', + jsx("div", { + data: "\r\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\n" + }, undefined, false, undefined, this), + jsx("div", { + data: "\t" + }, undefined, false, undefined, this), + jsx("div", { + data: "\f" + }, undefined, false, undefined, this), + jsx("div", { + data: "\v" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2028" + }, undefined, false, undefined, this), + jsx("div", { + data: "\u2029" + }, undefined, false, undefined, this), + jsx("div", { + data: "😊" + }, undefined, false, undefined, this), + jsx("div", { + data: "😃" + }, undefined, false, undefined, this), + jsx("div", { + data: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", { + data: "㋡" + }, undefined, false, undefined, this), + jsx("div", { + data: "☺" + }, undefined, false, undefined, this), + jsx("div", { + data: "シ" + }, undefined, false, undefined, this), + jsx("div", { + data: "👋" + }, undefined, false, undefined, this), + jsx("div", { + data: "☹" + }, undefined, false, undefined, this), + jsx("div", { + data: "☻" + }, undefined, false, undefined, this), + jsx("div", { + data: "123" + }, undefined, false, undefined, this), + jsx("div", {}, "\r\n", false, undefined, this), + jsx("div", { + children: "\r\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\n", false, undefined, this), + jsx("div", { + children: "\n" + }, undefined, false, undefined, this), + jsx("div", {}, "\t", false, undefined, this), + jsx("div", { + children: "\t" + }, undefined, false, undefined, this), + jsx("div", {}, "\f", false, undefined, this), + jsx("div", { + children: "\f" + }, undefined, false, undefined, this), + jsx("div", {}, "\v", false, undefined, this), + jsx("div", { + children: "\v" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2028", false, undefined, this), + jsx("div", { + children: "\u2028" + }, undefined, false, undefined, this), + jsx("div", {}, "\u2029", false, undefined, this), + jsx("div", { + children: "\u2029" + }, undefined, false, undefined, this), + jsx("div", {}, "😊", false, undefined, this), + jsx("div", { + children: "😊" + }, undefined, false, undefined, this), + jsx("div", {}, "😃", false, undefined, this), + jsx("div", { + children: "😃" + }, undefined, false, undefined, this), + jsx("div", {}, "🕵🏽♂️", false, undefined, this), + jsx("div", { + children: "🕵🏽♂️" + }, undefined, false, undefined, this), + jsx("div", {}, "㋡", false, undefined, this), + jsx("div", { + children: "㋡" + }, undefined, false, undefined, this), + jsx("div", {}, "☺", false, undefined, this), + jsx("div", { + children: "☺" + }, undefined, false, undefined, this), + jsx("div", {}, "シ", false, undefined, this), + jsx("div", { + children: "シ" + }, undefined, false, undefined, this), + jsx("div", {}, "👋", false, undefined, this), + jsx("div", { + children: "👋" + }, undefined, false, undefined, this), + jsx("div", {}, "☹", false, undefined, this), + jsx("div", { + children: "☹" + }, undefined, false, undefined, this), + jsx("div", {}, "☻", false, undefined, this), + jsx("div", { + children: "☻" + }, undefined, false, undefined, this), + jsx("div", {}, "123", false, undefined, this), + jsx("div", { + children: "123" + }, undefined, false, undefined, this) + ] +}, undefined, true, undefined, this); const foo = () => { }; const Bar = foo("a", { @@ -30,5 +425,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); } |