Skip to content

Commit

Permalink
Add tests for newlines in template literals
Browse files Browse the repository at this point in the history
These are related to the following issues:

* prettier#1662
* prettier#821
* prettier#1183
* prettier#1626
  • Loading branch information
josephfrazier committed May 22, 2017
1 parent aeed784 commit 6b37052
Show file tree
Hide file tree
Showing 2 changed files with 354 additions and 12 deletions.
322 changes: 310 additions & 12 deletions tests/strings/__snapshots__/jsfmt.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -122,27 +122,176 @@ foo(\`a long string \${ 1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + ( functi
pipe.write(
\`\\n \${chalk.dim(\`\\u203A and \${more} more \${more} more \${more} more \${more}\`)}\`,
);
// https://github.com/prettier/prettier/issues/1662#issue-230406820
const content = \`
const env = \${ JSON.stringify({
assetsRootUrl: env.assetsRootUrl,
env: env.env,
role: "client",
adsfafa: "sdfsdff",
asdfasff: "wefwefw",
fefef: "sf sdfs fdsfdsf s dfsfds"
}, null, "\\t") });
\`;
// https://github.com/prettier/prettier/issues/821#issue-210557749
f(\`\${{
a: 4,
b: 9,
}}\`);
// https://github.com/prettier/prettier/issues/1183#issue-220863505
const makeBody = (store, assets, html) =>
\`<!doctype html>\${
ReactDOMServer.renderToStaticMarkup(
<Html
headScripts={compact([ assets.javascript.head ])}
headStyles={compact([ assets.styles.body, assets.styles.head ])}
bodyScripts={compact([ assets.javascript.body ])}
bodyStyles={[]}
stringScripts={[
\`window.__INITIAL_STATE__ = \${
JSON.stringify(store.getState(), null, 2)
};\`,
]}
content={[
{ id: 'app-container', dangerouslySetInnerHTML: { __html: html } },
]}
/>
)
}\`
// https://github.com/prettier/prettier/issues/1626#issue-229655106
const Bar = styled.div\`
color: \${props => (props.highlight.length > 0 ? palette(['text', 'dark', 'tertiary'])(props) : palette(['text', 'dark', 'primary'])(props))} !important;
\`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo(
\`a long string \${1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3} with expr\`
\`a long string \${1 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3} with expr\`
);
const x = \`a long string \${1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + (function() {
const x = \`a long string \${1 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
(function() {
return 3;
})() + 3 + 2 + 3 + 2 + 3} with expr\`;
})() +
3 +
2 +
3 +
2 +
3} with expr\`;
foo(
\`a long string \${1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + (function() {
\`a long string \${1 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
(function() {
const x = 5;
return x;
})() + 3 + 2 + 3 + 2 + 3} with expr\`
})() +
3 +
2 +
3 +
2 +
3} with expr\`
);
pipe.write(
\`\\n \${chalk.dim(\`\\u203A and \${more} more \${more} more \${more} more \${more}\`)}\`
\`\\n \${chalk.dim(
\`\\u203A and \${more} more \${more} more \${more} more \${more}\`
)}\`
);
// https://github.com/prettier/prettier/issues/1662#issue-230406820
const content = \`
const env = \${JSON.stringify(
{
assetsRootUrl: env.assetsRootUrl,
env: env.env,
role: "client",
adsfafa: "sdfsdff",
asdfasff: "wefwefw",
fefef: "sf sdfs fdsfdsf s dfsfds"
},
null,
"\\t"
)});
\`;
// https://github.com/prettier/prettier/issues/821#issue-210557749
f(
\`\${{
a: 4,
b: 9
}}\`
);
// https://github.com/prettier/prettier/issues/1183#issue-220863505
const makeBody = (store, assets, html) =>
\`<!doctype html>\${ReactDOMServer.renderToStaticMarkup(
<Html
headScripts={compact([assets.javascript.head])}
headStyles={compact([assets.styles.body, assets.styles.head])}
bodyScripts={compact([assets.javascript.body])}
bodyStyles={[]}
stringScripts={[
\`window.__INITIAL_STATE__ = \${JSON.stringify(
store.getState(),
null,
2
)};\`
]}
content={[
{ id: "app-container", dangerouslySetInnerHTML: { __html: html } }
]}
/>
)}\`;
// https://github.com/prettier/prettier/issues/1626#issue-229655106
const Bar = styled.div\`
color: \${props =>
props.highlight.length > 0
? palette(["text", "dark", "tertiary"])(props)
: palette(["text", "dark", "primary"])(props)} !important;
\`;
`;
exports[`template-literals.js 2`] = `
Expand All @@ -159,25 +308,174 @@ foo(\`a long string \${ 1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + ( functi
pipe.write(
\`\\n \${chalk.dim(\`\\u203A and \${more} more \${more} more \${more} more \${more}\`)}\`,
);
// https://github.com/prettier/prettier/issues/1662#issue-230406820
const content = \`
const env = \${ JSON.stringify({
assetsRootUrl: env.assetsRootUrl,
env: env.env,
role: "client",
adsfafa: "sdfsdff",
asdfasff: "wefwefw",
fefef: "sf sdfs fdsfdsf s dfsfds"
}, null, "\\t") });
\`;
// https://github.com/prettier/prettier/issues/821#issue-210557749
f(\`\${{
a: 4,
b: 9,
}}\`);
// https://github.com/prettier/prettier/issues/1183#issue-220863505
const makeBody = (store, assets, html) =>
\`<!doctype html>\${
ReactDOMServer.renderToStaticMarkup(
<Html
headScripts={compact([ assets.javascript.head ])}
headStyles={compact([ assets.styles.body, assets.styles.head ])}
bodyScripts={compact([ assets.javascript.body ])}
bodyStyles={[]}
stringScripts={[
\`window.__INITIAL_STATE__ = \${
JSON.stringify(store.getState(), null, 2)
};\`,
]}
content={[
{ id: 'app-container', dangerouslySetInnerHTML: { __html: html } },
]}
/>
)
}\`
// https://github.com/prettier/prettier/issues/1626#issue-229655106
const Bar = styled.div\`
color: \${props => (props.highlight.length > 0 ? palette(['text', 'dark', 'tertiary'])(props) : palette(['text', 'dark', 'primary'])(props))} !important;
\`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo(
\`a long string \${1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3} with expr\`,
\`a long string \${1 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3} with expr\`,
);
const x = \`a long string \${1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + (function() {
const x = \`a long string \${1 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
(function() {
return 3;
})() + 3 + 2 + 3 + 2 + 3} with expr\`;
})() +
3 +
2 +
3 +
2 +
3} with expr\`;
foo(
\`a long string \${1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + (function() {
\`a long string \${1 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
3 +
2 +
(function() {
const x = 5;
return x;
})() + 3 + 2 + 3 + 2 + 3} with expr\`,
})() +
3 +
2 +
3 +
2 +
3} with expr\`,
);
pipe.write(
\`\\n \${chalk.dim(\`\\u203A and \${more} more \${more} more \${more} more \${more}\`)}\`,
\`\\n \${chalk.dim(
\`\\u203A and \${more} more \${more} more \${more} more \${more}\`,
)}\`,
);
// https://github.com/prettier/prettier/issues/1662#issue-230406820
const content = \`
const env = \${JSON.stringify(
{
assetsRootUrl: env.assetsRootUrl,
env: env.env,
role: "client",
adsfafa: "sdfsdff",
asdfasff: "wefwefw",
fefef: "sf sdfs fdsfdsf s dfsfds",
},
null,
"\\t",
)});
\`;
// https://github.com/prettier/prettier/issues/821#issue-210557749
f(
\`\${{
a: 4,
b: 9,
}}\`,
);
// https://github.com/prettier/prettier/issues/1183#issue-220863505
const makeBody = (store, assets, html) =>
\`<!doctype html>\${ReactDOMServer.renderToStaticMarkup(
<Html
headScripts={compact([assets.javascript.head])}
headStyles={compact([assets.styles.body, assets.styles.head])}
bodyScripts={compact([assets.javascript.body])}
bodyStyles={[]}
stringScripts={[
\`window.__INITIAL_STATE__ = \${JSON.stringify(
store.getState(),
null,
2,
)};\`,
]}
content={[
{ id: "app-container", dangerouslySetInnerHTML: { __html: html } },
]}
/>,
)}\`;
// https://github.com/prettier/prettier/issues/1626#issue-229655106
const Bar = styled.div\`
color: \${props =>
props.highlight.length > 0
? palette(["text", "dark", "tertiary"])(props)
: palette(["text", "dark", "primary"])(props)} !important;
\`;
`;
Loading

0 comments on commit 6b37052

Please sign in to comment.