[JSX] Break before and after jsx whitespace (#836)

master
Alex Rattray 2017-02-28 13:30:54 -08:00 committed by Christopher Chedeau
parent e09bdd4447
commit aef1ac61c9
3 changed files with 49 additions and 3 deletions

View File

@ -2482,6 +2482,7 @@ function printJSXChildren(path, options, print, jsxWhitespace) {
const beginSpace = /^\s+/.test(line);
if (beginSpace) {
children.push(jsxWhitespace);
children.push(softline);
}
const stripped = line.replace(/^\s+|\s+$/g, "");
@ -2491,6 +2492,7 @@ function printJSXChildren(path, options, print, jsxWhitespace) {
const endSpace = /\s+$/.test(line);
if (endSpace) {
children.push(softline);
children.push(jsxWhitespace);
}
});

View File

@ -65,6 +65,16 @@ similar_2 =
similar_3 =
<span><Icon icon=\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\" /> <Icon icon=\\"\\" /></span>;
regression_not_broken_end =
<div>
long text long text long text long text long text long text long text long text <link>url</link> long text long text
</div>
regression_not_broken_begin =
<div>
<br /> long text long text long text long text long text long text long text long text<link>url</link> long text long text
</div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
after = (
<span>
@ -81,7 +91,8 @@ before = (
before_break1 = (
<span>
<span barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar />
{\\" \\"}foo
{\\" \\"}
foo
</span>
);
@ -90,13 +101,15 @@ before_break2 = (
<span
barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar
/>
{\\" \\"}foo
{\\" \\"}
foo
</span>
);
after_break = (
<span>
foo{\\" \\"}
foo
{\\" \\"}
<span barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar />
</span>
);
@ -162,5 +175,26 @@ similar_3 = (
<Icon icon=\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\" /> <Icon icon=\\"\\" />
</span>
);
regression_not_broken_end = (
<div>
long text long text long text long text long text long text long text long text
{\\" \\"}
<link>url</link>
{\\" \\"}
long text long text
</div>
);
regression_not_broken_begin = (
<div>
<br />
{\\" \\"}
long text long text long text long text long text long text long text long text
<link>url</link>
{\\" \\"}
long text long text
</div>
);
"
`;

View File

@ -62,3 +62,13 @@ similar_2 =
similar_3 =
<span><Icon icon="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" /> <Icon icon="" /></span>;
not_broken_end =
<div>
long text long text long text long text long text long text long text long text <link>url</link> long text long text
</div>
not_broken_begin =
<div>
<br /> long text long text long text long text long text long text long text long text<link>url</link> long text long text
</div>