Skip to content

Commit

Permalink
feat(html): handle pre with interpolation (#5400)
Browse files Browse the repository at this point in the history
  • Loading branch information
ikatyang committed Nov 9, 2018
1 parent 32ea48d commit 0228863
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 2 deletions.
6 changes: 5 additions & 1 deletion src/language-html/printer-html.js
Expand Up @@ -200,7 +200,11 @@ function genericPrint(path, options, print) {
: node.firstChild.type === "text" &&
node.firstChild.isWhitespaceSensitive &&
node.firstChild.isIndentationSensitive
? node.firstChild.value.indexOf("\n") === -1
? (node.children.length === 1 &&
node.firstChild.type === "text" &&
node.firstChild.value.indexOf("\n") === -1) ||
node.firstChild.sourceSpan.start.line ===
node.lastChild.sourceSpan.end.line
? ""
: literalline
: node.firstChild.hasLeadingSpaces &&
Expand Down
4 changes: 3 additions & 1 deletion src/language-html/utils.js
Expand Up @@ -43,7 +43,9 @@ function hasPrettierIgnore(path) {
// TODO: handle non-text children in <pre>
if (
isPreLikeNode(node) &&
node.children.some(child => child.type !== "text")
node.children.some(
child => child.type !== "text" && child.type !== "interpolation"
)
) {
return true;
}
Expand Down
74 changes: 74 additions & 0 deletions tests/html_vue/__snapshots__/jsfmt.spec.js.snap
Expand Up @@ -833,6 +833,19 @@ exports[`pre-child.vue - vue-verify 1`] = `
<code class="d-block">{{ code }}</code>
</pre>
</template>
<template>
<pre class='woot'>
{{ stuff }}
</pre>
</template>
<template>
<pre class='woot'>
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
</pre>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<!--
copied from https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/ide/components/jobs/detail.vue
Expand Down Expand Up @@ -867,6 +880,30 @@ exports[`pre-child.vue - vue-verify 1`] = `
</pre>
</template>
<template>
<pre class="woot">
{{ stuff }}
</pre>
</template>
<template>
<pre class="woot">
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
</pre
>
</template>
`;
exports[`pre-child.vue - vue-verify 2`] = `
Expand Down Expand Up @@ -898,6 +935,19 @@ exports[`pre-child.vue - vue-verify 2`] = `
<code class="d-block">{{ code }}</code>
</pre>
</template>
<template>
<pre class='woot'>
{{ stuff }}
</pre>
</template>
<template>
<pre class='woot'>
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
</pre>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<!--
copied from https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/ide/components/jobs/detail.vue
Expand Down Expand Up @@ -932,6 +982,30 @@ exports[`pre-child.vue - vue-verify 2`] = `
</pre>
</template>
<template>
<pre class="woot">
{{ stuff }}
</pre>
</template>
<template>
<pre class="woot">
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
123{{
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq ||
wqeqwwqwqweqweqwewwq
}}123
</pre
>
</template>
`;
exports[`script_src.vue - vue-verify 1`] = `
Expand Down
13 changes: 13 additions & 0 deletions tests/html_vue/pre-child.vue
Expand Up @@ -26,3 +26,16 @@
<code class="d-block">{{ code }}</code>
</pre>
</template>

<template>
<pre class='woot'>
{{ stuff }}
</pre>
</template>

<template>
<pre class='woot'>
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
123{{ wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123
</pre>
</template>

0 comments on commit 0228863

Please sign in to comment.