prettier/tests/comments/__snapshots__/jsfmt.spec.js.snap

402 lines
11 KiB
Plaintext
Raw Normal View History

exports[`test issues.js 1`] = `
"// Does not need to break as it fits in 80 columns
this.call(a, /* comment */ b);
function f(
someReallyLongArgument: WithSomeLongType,
someReallyLongArgument2: WithSomeLongType,
// Trailing comment should stay after
) {}
// Comments should either stay at the end of the line or always before, but
// not one before and one after.
throw new ProcessSystemError({
code: acc.error.code, // Alias of errno
originalError: acc.error, // Just in case.
});
// Adding a comment stops the pretty printing process and everything is
// squished in a single line afterward
export type BuckWebSocketMessage = {
// Not actually from Buck - this is to let the receiver know that the socket is connected.
type: \'SocketConnected\',
} | {
type: \'BuildProgressUpdated\',
progressValue: number,
} | {
type: \'BuildFinished\',
exitCode: number,
} | {
type: \'BuildStarted\',
} | {
type: \'ParseStarted\',
} | {
type: \'ParseFinished\',
} | {
type: \'RunStarted\',
} | {
type: \'RunComplete\',
};
// Missing one level of indentation because of the comment
const rootEpic = (actions, store) => (
combineEpics(...epics)(actions, store)
// Log errors and continue.
.catch((err, stream) => {
getLogger().error(err);
return stream;
})
);
// Two extra levels of indentation because of the comment
export type AsyncExecuteOptions = child_process$execFileOpts & {
// The contents to write to stdin.
stdin?: ?string,
dontLogInNuclide?: ?boolean,
};
// optional trailing comma gets moved all the way to the beginning
const regex = new RegExp(
\'^\\\\s*\' + // beginning of the line
\'name\\\\s*=\\\\s*\' + // name =
\'[\\\'\"]\' + // opening quotation mark
escapeStringRegExp(target.name) + // target name
\'[\\\'\"]\' + // closing quotation mark
\',?$\', // optional trailing comma
);
// The comment is moved and doesn\'t trigger the eslint rule anymore
import path from \'path\'; // eslint-disable-line nuclide-internal/prefer-nuclide-uri
// Comments disappear in-between MemberExpressions
Observable.of(process)
// Don\'t complete until we say so!
.merge(Observable.never())
// Get the errors.
.takeUntil(throwOnError ? errors.flatMap(Observable.throw) : errors)
.takeUntil(exit);
// Comments disappear inside of JSX
<div>
{/* Some comment */}
</div>;
// Comments in JSX tag are placed in a non optimal way
<div
// comment
/>;
// Comments disappear in empty blocks
if (1) {
// Comment
}
// Comments trigger invalid JavaScript in-between else if
if (1) {
}
// Comment
else {
}
// The comment makes the line break in a weird way
const result = asyncExecute(\'non_existing_command\', /* args */ []);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Does not need to break as it fits in 80 columns
this.call(
a,
/* comment */
b
);
function f(
someReallyLongArgument: WithSomeLongType,
// Trailing comment should stay after
someReallyLongArgument2: WithSomeLongType
) {}
// Comments should either stay at the end of the line or always before, but
// not one before and one after.
throw new ProcessSystemError({
code: acc.error.code,
// Alias of errno
// Just in case.
originalError: acc.error
});
// Adding a comment stops the pretty printing process and everything is
// squished in a single line afterward
export type BuckWebSocketMessage = {
// Not actually from Buck - this is to let the receiver know that the socket is connected.
type: \"SocketConnected\"
} | { type: \"BuildProgressUpdated\", progressValue: number } | { type: \"BuildFinished\", exitCode: number } | { type: \"BuildStarted\" } | { type: \"ParseStarted\" } | { type: \"ParseFinished\" } | { type: \"RunStarted\" } | { type: \"RunComplete\" };
// Missing one level of indentation because of the comment
const rootEpic = (actions, store) => // Log errors and continue.
combineEpics(...epics)(actions, store).catch((err, stream) => {
getLogger().error(err);
return stream;
});
// Two extra levels of indentation because of the comment
export type AsyncExecuteOptions = child_process$execFileOpts & {
// The contents to write to stdin.
stdin?: ?string,
dontLogInNuclide?: ?boolean
};
// optional trailing comma gets moved all the way to the beginning
const regex = new RegExp(
// optional trailing comma
\"^\\\\s*\" +
// beginning of the line
\"name\\\\s*=\\\\s*\" +
// name =
\"[\'\\\"]\" +
// opening quotation mark
escapeStringRegExp(target.name) +
// target name
\"[\'\\\"]\" +
// closing quotation mark
\",?$\"
);
// The comment is moved and doesn\'t trigger the eslint rule anymore
import path from \"path\";
// eslint-disable-line nuclide-internal/prefer-nuclide-uri
// Comments disappear in-between MemberExpressions
Observable
.of(process)
.merge(Observable.never())
.takeUntil(throwOnError ? errors.flatMap(Observable.throw) : errors)
.takeUntil(exit);
/* Comments disappear inside of JSX*/
<div>
{}
</div>;
/* Comments in JSX tag are placed in a non optimal way*/
<div
2017-01-24 21:54:01 +03:00
/* comment*/
/>;
// Comments disappear in empty blocks
if (1) {
// Comment
}
// Comments trigger invalid JavaScript in-between else if
if (1) {
}
// Comment else {
}
// The comment makes the line break in a weird way
const result = asyncExecute(\"non_existing_command\", /* args */
[]);
"
`;
exports[`test issues.js 2`] = `
"// Does not need to break as it fits in 80 columns
this.call(a, /* comment */ b);
function f(
someReallyLongArgument: WithSomeLongType,
someReallyLongArgument2: WithSomeLongType,
// Trailing comment should stay after
) {}
// Comments should either stay at the end of the line or always before, but
// not one before and one after.
throw new ProcessSystemError({
code: acc.error.code, // Alias of errno
originalError: acc.error, // Just in case.
});
// Adding a comment stops the pretty printing process and everything is
// squished in a single line afterward
export type BuckWebSocketMessage = {
// Not actually from Buck - this is to let the receiver know that the socket is connected.
type: \'SocketConnected\',
} | {
type: \'BuildProgressUpdated\',
progressValue: number,
} | {
type: \'BuildFinished\',
exitCode: number,
} | {
type: \'BuildStarted\',
} | {
type: \'ParseStarted\',
} | {
type: \'ParseFinished\',
} | {
type: \'RunStarted\',
} | {
type: \'RunComplete\',
};
// Missing one level of indentation because of the comment
const rootEpic = (actions, store) => (
combineEpics(...epics)(actions, store)
// Log errors and continue.
.catch((err, stream) => {
getLogger().error(err);
return stream;
})
);
// Two extra levels of indentation because of the comment
export type AsyncExecuteOptions = child_process$execFileOpts & {
// The contents to write to stdin.
stdin?: ?string,
dontLogInNuclide?: ?boolean,
};
// optional trailing comma gets moved all the way to the beginning
const regex = new RegExp(
\'^\\\\s*\' + // beginning of the line
\'name\\\\s*=\\\\s*\' + // name =
\'[\\\'\"]\' + // opening quotation mark
escapeStringRegExp(target.name) + // target name
\'[\\\'\"]\' + // closing quotation mark
\',?$\', // optional trailing comma
);
// The comment is moved and doesn\'t trigger the eslint rule anymore
import path from \'path\'; // eslint-disable-line nuclide-internal/prefer-nuclide-uri
// Comments disappear in-between MemberExpressions
Observable.of(process)
// Don\'t complete until we say so!
.merge(Observable.never())
// Get the errors.
.takeUntil(throwOnError ? errors.flatMap(Observable.throw) : errors)
.takeUntil(exit);
// Comments disappear inside of JSX
<div>
{/* Some comment */}
</div>;
// Comments in JSX tag are placed in a non optimal way
<div
// comment
/>;
// Comments disappear in empty blocks
if (1) {
// Comment
}
// Comments trigger invalid JavaScript in-between else if
if (1) {
}
// Comment
else {
}
// The comment makes the line break in a weird way
const result = asyncExecute(\'non_existing_command\', /* args */ []);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Does not need to break as it fits in 80 columns
this.call(
a,
/* comment */
b
);
function f(
someReallyLongArgument: WithSomeLongType,
// Trailing comment should stay after
someReallyLongArgument2: WithSomeLongType
) {}
// Comments should either stay at the end of the line or always before, but
// not one before and one after.
throw new ProcessSystemError({
code: acc.error.code,
// Alias of errno
// Just in case.
originalError: acc.error
});
// Adding a comment stops the pretty printing process and everything is
// squished in a single line afterward
export type BuckWebSocketMessage = {
// Not actually from Buck - this is to let the receiver know that the socket is connected.
type: \"SocketConnected\"
} | { type: \"BuildProgressUpdated\", progressValue: number } | { type: \"BuildFinished\", exitCode: number } | { type: \"BuildStarted\" } | { type: \"ParseStarted\" } | { type: \"ParseFinished\" } | { type: \"RunStarted\" } | { type: \"RunComplete\" };
// Missing one level of indentation because of the comment
const rootEpic = (actions, store) => // Log errors and continue.
combineEpics(...epics)(actions, store).catch((err, stream) => {
getLogger().error(err);
return stream;
});
// Two extra levels of indentation because of the comment
export type AsyncExecuteOptions = child_process$execFileOpts & {
// The contents to write to stdin.
stdin?: ?string,
dontLogInNuclide?: ?boolean
};
// optional trailing comma gets moved all the way to the beginning
const regex = new RegExp(
// optional trailing comma
\"^\\\\s*\" +
// beginning of the line
\"name\\\\s*=\\\\s*\" +
// name =
\"[\'\\\"]\" +
// opening quotation mark
escapeStringRegExp(target.name) +
// target name
\"[\'\\\"]\" +
// closing quotation mark
\",?$\"
);
// The comment is moved and doesn\'t trigger the eslint rule anymore
import path from \"path\";
// eslint-disable-line nuclide-internal/prefer-nuclide-uri
// Comments disappear in-between MemberExpressions
Observable
.of(process)
.merge(Observable.never())
.takeUntil(throwOnError ? errors.flatMap(Observable.throw) : errors)
.takeUntil(exit);
// Comments disappear inside of JSX
<div>
{}
</div>;
// Comments in JSX tag are placed in a non optimal way
<// comment
2017-01-24 21:54:01 +03:00
div
/>;
// Comments disappear in empty blocks
if (1) {
// Comment
}
// Comments trigger invalid JavaScript in-between else if
if (1) {
}
// Comment else {
}
// The comment makes the line break in a weird way
const result = asyncExecute(\"non_existing_command\", /* args */
[]);
"
`;