Fix for of/in comment on its own line around in/of (#901)
This is pretty edge case-y so i'm taking the easy way out. Fixes #886master
parent
d034564481
commit
0aa3617689
|
@ -157,6 +157,7 @@ function attach(comments, ast, text, options) {
|
|||
handleClassComments(enclosingNode, comment) ||
|
||||
handleImportSpecifierComments(enclosingNode, comment) ||
|
||||
handleObjectPropertyComments(enclosingNode, comment) ||
|
||||
handleForComments(enclosingNode, precedingNode, comment) ||
|
||||
handleUnionTypeComments(
|
||||
precedingNode,
|
||||
enclosingNode,
|
||||
|
@ -634,6 +635,17 @@ function handleOnlyComments(enclosingNode, ast, comment, isLastComment) {
|
|||
return false;
|
||||
}
|
||||
|
||||
function handleForComments(enclosingNode, precedingNode, comment) {
|
||||
if (enclosingNode && (
|
||||
enclosingNode.type === "ForInStatement" ||
|
||||
enclosingNode.type === "ForOfStatement")
|
||||
) {
|
||||
addLeadingComment(enclosingNode, comment);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function printComment(commentPath) {
|
||||
const comment = commentPath.getValue();
|
||||
comment.printed = true;
|
||||
|
|
|
@ -1,5 +1,139 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`comment.js 1`] = `
|
||||
"for (x
|
||||
/*a*/
|
||||
in //b
|
||||
y) //c
|
||||
;
|
||||
|
||||
for (x in /*a*/ //b
|
||||
y); //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
for (x
|
||||
//a
|
||||
in y);
|
||||
|
||||
for(x in
|
||||
//a
|
||||
y);
|
||||
|
||||
for (x
|
||||
/*a*/
|
||||
of //b
|
||||
y) //c
|
||||
;
|
||||
|
||||
for (x of /*a*/ //b
|
||||
y); //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
for (x
|
||||
//a
|
||||
of y);
|
||||
|
||||
for(x of
|
||||
//a
|
||||
y);
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/*a*/
|
||||
for (x in y); //b //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
//a
|
||||
for (x in y);
|
||||
|
||||
//a
|
||||
for (x in y);
|
||||
|
||||
/*a*/
|
||||
for (x of y); //b //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
//a
|
||||
for (x of y);
|
||||
|
||||
//a
|
||||
for (x of y);
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`comment.js 2`] = `
|
||||
"for (x
|
||||
/*a*/
|
||||
in //b
|
||||
y) //c
|
||||
;
|
||||
|
||||
for (x in /*a*/ //b
|
||||
y); //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
for (x
|
||||
//a
|
||||
in y);
|
||||
|
||||
for(x in
|
||||
//a
|
||||
y);
|
||||
|
||||
for (x
|
||||
/*a*/
|
||||
of //b
|
||||
y) //c
|
||||
;
|
||||
|
||||
for (x of /*a*/ //b
|
||||
y); //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
for (x
|
||||
//a
|
||||
of y);
|
||||
|
||||
for(x of
|
||||
//a
|
||||
y);
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/*a*/
|
||||
for (x in y); //b //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
//a
|
||||
for (x in y);
|
||||
|
||||
//a
|
||||
for (x in y);
|
||||
|
||||
/*a*/
|
||||
for (x of y); //b //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
//a
|
||||
for (x of y);
|
||||
|
||||
//a
|
||||
for (x of y);
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`for.js 1`] = `
|
||||
"for (;;) {}
|
||||
for (var i = 0; i < 10; ++i) {}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
for (x
|
||||
/*a*/
|
||||
in //b
|
||||
y) //c
|
||||
;
|
||||
|
||||
for (x in /*a*/ //b
|
||||
y); //c
|
||||
|
||||
for (x /*a*/ in y); //b //c
|
||||
|
||||
for (x
|
||||
//a
|
||||
in y);
|
||||
|
||||
for(x in
|
||||
//a
|
||||
y);
|
||||
|
||||
for (x
|
||||
/*a*/
|
||||
of //b
|
||||
y) //c
|
||||
;
|
||||
|
||||
for (x of /*a*/ //b
|
||||
y); //c
|
||||
|
||||
for (x /*a*/ of y); //b //c
|
||||
|
||||
for (x
|
||||
//a
|
||||
of y);
|
||||
|
||||
for(x of
|
||||
//a
|
||||
y);
|
Loading…
Reference in New Issue