aboutsummaryrefslogtreecommitdiff
path: root/test/snippets/jsx-spacing.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'test/snippets/jsx-spacing.jsx')
-rw-r--r--test/snippets/jsx-spacing.jsx43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/snippets/jsx-spacing.jsx b/test/snippets/jsx-spacing.jsx
new file mode 100644
index 000000000..b6d13f97a
--- /dev/null
+++ b/test/snippets/jsx-spacing.jsx
@@ -0,0 +1,43 @@
+import * as ReactDOM from "react-dom/server";
+
+const ReturnDescriptionAsString = ({ description }) => description;
+
+export function test() {
+ const _bun = ReactDOM.renderToString(
+ <ReturnDescriptionAsString
+ description="line1
+line2 trailing space
+
+line4 no trailing space 'single quote' \t\f\v\uF000 `template string`
+
+line6 no trailing space
+line7 trailing newline that ${terminates} the string literal
+"
+ ></ReturnDescriptionAsString>
+ );
+
+ // convert HTML entities to unicode
+ const el = document.createElement("textarea");
+ el.innerHTML = _bun;
+ const bun = el.value;
+
+ const esbuild =
+ "line1\nline2 trailing space \n\nline4 no trailing space 'single quote' \\t\\f\\v\\uF000 `template string`\n\nline6 no trailing space\nline7 trailing newline that ${terminates} the string literal\n";
+
+ const tsc =
+ "line1\nline2 trailing space \n\nline4 no trailing space 'single quote' \\t\\f\\v\\uF000 `template string`\n\nline6 no trailing space\nline7 trailing newline that ${terminates} the string literal\n";
+
+ console.assert(
+ bun === esbuild && bun === tsc,
+ `strings did not match: ${JSON.stringify(
+ {
+ received: bun,
+ expected: esbuild,
+ },
+ null,
+ 2
+ )}`
+ );
+
+ testDone(import.meta.url);
+}