diff options
-rw-r--r-- | integration/scripts/snippets.json | 3 | ||||
-rw-r--r-- | integration/snippets/template-literal.js | 37 | ||||
-rw-r--r-- | src/js_printer.zig | 12 |
3 files changed, 41 insertions, 11 deletions
diff --git a/integration/scripts/snippets.json b/integration/scripts/snippets.json index 233d508d8..a37394c1c 100644 --- a/integration/scripts/snippets.json +++ b/integration/scripts/snippets.json @@ -22,5 +22,6 @@ "/latin1-chars-in-regexp.js", "/jsx-spacing.jsx", "/jsx-entities.jsx", - "/optional-chain-with-function.js" + "/optional-chain-with-function.js", + "/template-literal.js" ] diff --git a/integration/snippets/template-literal.js b/integration/snippets/template-literal.js new file mode 100644 index 000000000..b65f1a6b1 --- /dev/null +++ b/integration/snippets/template-literal.js @@ -0,0 +1,37 @@ +const css = (templ) => templ.toString(); + +const fooNoBracesUTF8 = css` + before + /* */ + after +`; + +const fooNoBracesUT16 = css` + before + 🙃 + after +`; +const fooUTF8 = css` + before + ${true} + after + +`; + +const fooUTF16 = css` + before + 🙃 ${true} + after + +`; +export function test() { + for (let foo of [fooNoBracesUT16, fooNoBracesUTF8, fooUTF16, fooUTF8]) { + console.assert( + foo.includes("before"), + `Expected ${foo} to include "before"` + ); + console.assert(foo.includes("after"), `Expected ${foo} to include "after"`); + } + + return testDone(import.meta.url); +} diff --git a/src/js_printer.zig b/src/js_printer.zig index 06e309665..2aa800756 100644 --- a/src/js_printer.zig +++ b/src/js_printer.zig @@ -1473,11 +1473,7 @@ pub fn NewPrinter( p.print("`"); if (e.head.isPresent()) { - if (e.tag != null) { - p.print(e.head.utf8); - } else { - p.printStringContent(&e.head, '`'); - } + p.printStringContent(&e.head, '`'); } for (e.parts) |part| { @@ -1485,11 +1481,7 @@ pub fn NewPrinter( p.printExpr(part.value, .lowest, ExprFlag.None()); p.print("}"); if (part.tail.isPresent()) { - if (e.tag != null) { - p.print(part.tail.utf8); - } else { - p.printStringContent(&part.tail, '`'); - } + p.printStringContent(&part.tail, '`'); } } p.print("`"); |