aboutsummaryrefslogtreecommitdiff
path: root/test/snippets/template-literal.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/snippets/template-literal.js')
-rw-r--r--test/snippets/template-literal.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/snippets/template-literal.js b/test/snippets/template-literal.js
new file mode 100644
index 000000000..ff4e08a4d
--- /dev/null
+++ b/test/snippets/template-literal.js
@@ -0,0 +1,51 @@
+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
+
+`;
+
+const templateLiteralWhichDefinesAFunction = ((...args) =>
+ args[args.length - 1]().toString())`
+ 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"`);
+ }
+
+ console.assert(
+ templateLiteralWhichDefinesAFunction.includes("true"),
+ "Expected fooFunction to include 'true'"
+ );
+
+ return testDone(import.meta.url);
+}