Skip to content

Commit

Permalink
Template literals: Don't break on identifiers but break if comments (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
duailibe committed Nov 21, 2017
1 parent d5a3abd commit 759953e
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/printer.js
Original file line number Diff line number Diff line change
Expand Up @@ -1988,7 +1988,7 @@ function genericPrintNoParens(path, options, print, args) {
let printed = expressions[i];

if (
n.expressions[i].type === "Identifier" ||
(n.expressions[i].comments && n.expressions[i].comments.length) ||
n.expressions[i].type === "MemberExpression" ||
n.expressions[i].type === "ConditionalExpression"
) {
Expand Down
6 changes: 4 additions & 2 deletions tests/line_suffix_boundary/__snapshots__/jsfmt.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@ ExampleStory.getFragment('story')}
d //comment
}
\${// $FlowFixMe found when converting React.createClass to ES6
ExampleStory.getFragment("story")}
\${
// $FlowFixMe found when converting React.createClass to ES6
ExampleStory.getFragment("story")
}
\`;
<div>
Expand Down
22 changes: 17 additions & 5 deletions tests/template_literals/__snapshots__/jsfmt.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,21 @@ console.log(
console.log(\`brew cask audit --download \${_.map(definitions, 'caskName').join(' ')}\`)
console.log(\`\\nApparently jetbrains changed the release artifact for \${app.name}@\${app.jetbrains.version}.\\n\`);
descirbe('something', () => {
test(\`{pass: false} expect(\${small}).toBeGreaterThanOrEqual(\${big})\`, () => {});
})
throw new Error(\`pretty-format: Option "theme" has a key "\${key}" whose value "\${value}" is undefined in ansi-styles.\`,)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
const long = \`long \${
a.b //comment
} long longlong \${a.b.c.d.e} long longlong \${a.b.c.d.e} long longlong \${
a.b.c.d.e
} long long\`;
const long = \`long \${a.b.c.d.e} long longlong \${
loooooooooooooooooong
} long longlong \${loooooooooooooooooong} long longlong \${
loooooooooooooooooong
} long long\`;
const long = \`long \${
a.b.c.d.e
} long longlong \${loooooooooooooooooong} long longlong \${loooooooooooooooooong} long longlong \${loooooooooooooooooong} long long\`;
const long = \`long long long long long long long long long long long \${
a.b.c.d.e
Expand Down Expand Up @@ -94,6 +98,14 @@ console.log(
}.\\n\`
);
descirbe("something", () => {
test(\`{pass: false} expect(\${small}).toBeGreaterThanOrEqual(\${big})\`, () => {});
});
throw new Error(
\`pretty-format: Option "theme" has a key "\${key}" whose value "\${value}" is undefined in ansi-styles.\`
);
`;
exports[`styled-components-with-expressions.js 1`] = `
Expand Down
6 changes: 6 additions & 0 deletions tests/template_literals/expressions.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,9 @@ console.log(
console.log(`brew cask audit --download ${_.map(definitions, 'caskName').join(' ')}`)

console.log(`\nApparently jetbrains changed the release artifact for ${app.name}@${app.jetbrains.version}.\n`);

descirbe('something', () => {
test(`{pass: false} expect(${small}).toBeGreaterThanOrEqual(${big})`, () => {});
})

throw new Error(`pretty-format: Option "theme" has a key "${key}" whose value "${value}" is undefined in ansi-styles.`,)

0 comments on commit 759953e

Please sign in to comment.