diff --git a/tests/comments/__snapshots__/jsfmt.spec.js.snap b/tests/comments/__snapshots__/jsfmt.spec.js.snap index 730d3ada227f..d4c4bcbf9673 100644 --- a/tests/comments/__snapshots__/jsfmt.spec.js.snap +++ b/tests/comments/__snapshots__/jsfmt.spec.js.snap @@ -446,859 +446,878 @@ function bitwiseXor() { ================================================================================ `; -exports[`blank.js - {"semi":false} format 1`] = ` +exports[`binary-expressions-block-comments.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 semi: false | printWidth =====================================input====================================== -// This file only -// has comments. This comment -// should still exist -// -// when printed. +a = b || /** Comment */ +c; -/** - * @typedef {DataDrivenMapping|ConstantMapping} Mapping - */ -/** - * @typedef {Object.} ConfigurationMapping - */ +a = b /** Comment */ || +c; -/** - * @typedef {Function} D3Scale - a D3 scale - * @property {Function} ticks - * @property {Function} tickFormat - */ -// comment +a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ +c; -// comment +a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || +c; -=====================================output===================================== -// This file only -// has comments. This comment -// should still exist -// -// when printed. +a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; -/** - * @typedef {DataDrivenMapping|ConstantMapping} Mapping - */ -/** - * @typedef {Object.} ConfigurationMapping - */ +a = b && /** Comment */ +c; -/** - * @typedef {Function} D3Scale - a D3 scale - * @property {Function} ticks - * @property {Function} tickFormat - */ -// comment +a = b /** Comment */ && +c; -// comment +a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ +c; -================================================================================ -`; +a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && +c; -exports[`blank.js format 1`] = ` -====================================options===================================== -parsers: ["flow", "babel", "typescript"] -printWidth: 80 - | printWidth -=====================================input====================================== -// This file only -// has comments. This comment -// should still exist -// -// when printed. +a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; -/** - * @typedef {DataDrivenMapping|ConstantMapping} Mapping - */ -/** - * @typedef {Object.} ConfigurationMapping - */ +a = b + /** Comment */ +c; -/** - * @typedef {Function} D3Scale - a D3 scale - * @property {Function} ticks - * @property {Function} tickFormat - */ -// comment +a = b /** Comment */ + +c; -// comment +a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ +c; + +a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + +c; +a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; =====================================output===================================== -// This file only -// has comments. This comment -// should still exist -// -// when printed. +a = b || /** Comment */ c -/** - * @typedef {DataDrivenMapping|ConstantMapping} Mapping - */ -/** - * @typedef {Object.} ConfigurationMapping - */ +a = b /** Comment */ || c -/** - * @typedef {Function} D3Scale - a D3 scale - * @property {Function} ticks - * @property {Function} tickFormat - */ -// comment +a = + b || + /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c -// comment +a = + b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || + c -================================================================================ -`; +a = + b || + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c -exports[`break-continue-statements.js - {"semi":false} format 1`] = ` -====================================options===================================== -parsers: ["flow", "babel", "typescript"] -printWidth: 80 -semi: false - | printWidth -=====================================input====================================== -for (;;) { - break /* comment */; - continue /* comment */; -} +a = b && /** Comment */ c -loop: for (;;) { - break /* comment */ loop; - break loop /* comment */; - continue /* comment */ loop; - continue loop /* comment */; -} +a = b /** Comment */ && c -=====================================output===================================== -for (;;) { - break /* comment */ - continue /* comment */ -} +a = + b && + /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c -loop: for (;;) { - break /* comment */ loop - break loop /* comment */ - continue /* comment */ loop - continue loop /* comment */ -} +a = + b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && + c -================================================================================ -`; +a = + b && + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c -exports[`break-continue-statements.js format 1`] = ` -====================================options===================================== -parsers: ["flow", "babel", "typescript"] -printWidth: 80 - | printWidth -=====================================input====================================== -for (;;) { - break /* comment */; - continue /* comment */; -} +a = b + /** Comment */ c -loop: for (;;) { - break /* comment */ loop; - break loop /* comment */; - continue /* comment */ loop; - continue loop /* comment */; -} +a = b /** Comment */ + c -=====================================output===================================== -for (;;) { - break; /* comment */ - continue; /* comment */ -} +a = + b + + /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c -loop: for (;;) { - break /* comment */ loop; - break loop /* comment */; - continue /* comment */ loop; - continue loop /* comment */; -} +a = + b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + + c + +a = + b + + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c ================================================================================ `; -exports[`call_comment.js - {"semi":false} format 1`] = ` +exports[`binary-expressions-block-comments.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 -semi: false | printWidth =====================================input====================================== -render( // Warm any cache - , - container -); +a = b || /** Comment */ +c; -React.render( // Warm any cache - , - container -); +a = b /** Comment */ || +c; -render?.( // Warm any cache - , - container -); +a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ +c; + +a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || +c; + +a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; + +a = b && /** Comment */ +c; + +a = b /** Comment */ && +c; + +a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ +c; + +a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && +c; +a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; + +a = b + /** Comment */ +c; + +a = b /** Comment */ + +c; + +a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ +c; + +a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + +c; + +a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; =====================================output===================================== -render( - // Warm any cache - , - container -) +a = b || /** Comment */ c; -React.render( - // Warm any cache - , - container -) +a = b /** Comment */ || c; -render?.( - // Warm any cache - , - container -) +a = + b || + /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c; + +a = + b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || + c; + +a = + b || + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; + +a = b && /** Comment */ c; + +a = b /** Comment */ && c; + +a = + b && + /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c; + +a = + b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && + c; + +a = + b && + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; + +a = b + /** Comment */ c; + +a = b /** Comment */ + c; + +a = + b + + /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c; + +a = + b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + + c; + +a = + b + + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; ================================================================================ `; -exports[`call_comment.js format 1`] = ` +exports[`binary-expressions-single-comments.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 +semi: false | printWidth =====================================input====================================== -render( // Warm any cache - , - container -); +a = b || // Comment +c; -React.render( // Warm any cache - , - container -); +a = b || // TODO this is a very very very very long comment that makes it go > 80 columns +c; -render?.( // Warm any cache - , - container -); +a = b && // Comment +c; +a = b && // TODO this is a very very very very long comment that makes it go > 80 columns +c; + +a = b + // Comment +c; + +a = b + // TODO this is a very very very very long comment that makes it go > 80 columns +c; =====================================output===================================== -render( - // Warm any cache - , - container -); +a = + b || c // Comment -React.render( - // Warm any cache - , - container -); +a = + b || c // TODO this is a very very very very long comment that makes it go > 80 columns -render?.( - // Warm any cache - , - container -); +a = + b && c // Comment + +a = + b && c // TODO this is a very very very very long comment that makes it go > 80 columns + +a = + b + c // Comment + +a = + b + c // TODO this is a very very very very long comment that makes it go > 80 columns ================================================================================ `; -exports[`dangling.js - {"semi":false} format 1`] = ` +exports[`binary-expressions-single-comments.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 -semi: false | printWidth =====================================input====================================== -var a = {/* dangling */}; -var b = { - // dangling -}; -var b = [/* dangling */]; -function d() { - /* dangling */ -} -new Thing(/* dangling */); -Thing(/* dangling */); -Thing?.(/* dangling */); -declare class Foo extends Qux {/* dangling */} -export /* dangling */{}; +a = b || // Comment +c; + +a = b || // TODO this is a very very very very long comment that makes it go > 80 columns +c; + +a = b && // Comment +c; + +a = b && // TODO this is a very very very very long comment that makes it go > 80 columns +c; + +a = b + // Comment +c; +a = b + // TODO this is a very very very very long comment that makes it go > 80 columns +c; =====================================output===================================== -var a = { - /* dangling */ -} -var b = { - // dangling -} -var b = [ - /* dangling */ -] -function d() { - /* dangling */ -} -new Thing(/* dangling */) -Thing(/* dangling */) -Thing?.(/* dangling */) -declare class Foo extends Qux { - /* dangling */ -} -export /* dangling */{} +a = + b || c; // Comment + +a = + b || c; // TODO this is a very very very very long comment that makes it go > 80 columns + +a = + b && c; // Comment -================================================================================ -`; +a = + b && c; // TODO this is a very very very very long comment that makes it go > 80 columns -exports[`dangling.js format 1`] = ` -====================================options===================================== -parsers: ["flow", "babel", "typescript"] -printWidth: 80 - | printWidth -=====================================input====================================== -var a = {/* dangling */}; -var b = { - // dangling -}; -var b = [/* dangling */]; -function d() { - /* dangling */ -} -new Thing(/* dangling */); -Thing(/* dangling */); -Thing?.(/* dangling */); -declare class Foo extends Qux {/* dangling */} -export /* dangling */{}; +a = + b + c; // Comment -=====================================output===================================== -var a = { - /* dangling */ -}; -var b = { - // dangling -}; -var b = [ - /* dangling */ -]; -function d() { - /* dangling */ -} -new Thing(/* dangling */); -Thing(/* dangling */); -Thing?.(/* dangling */); -declare class Foo extends Qux { - /* dangling */ -} -export /* dangling */{}; +a = + b + c; // TODO this is a very very very very long comment that makes it go > 80 columns ================================================================================ `; -exports[`dangling_array.js - {"semi":false} format 1`] = ` +exports[`blank.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 semi: false | printWidth =====================================input====================================== -expect(() => {}).toTriggerReadyStateChanges([ - // Nothing. -]); +// This file only +// has comments. This comment +// should still exist +// +// when printed. -[1 /* first comment */, 2 /* second comment */, 3]; +/** + * @typedef {DataDrivenMapping|ConstantMapping} Mapping + */ +/** + * @typedef {Object.} ConfigurationMapping + */ + +/** + * @typedef {Function} D3Scale - a D3 scale + * @property {Function} ticks + * @property {Function} tickFormat + */ +// comment + +// comment =====================================output===================================== -expect(() => {}).toTriggerReadyStateChanges([ - // Nothing. -]) +// This file only +// has comments. This comment +// should still exist +// +// when printed. -;[1 /* first comment */, 2 /* second comment */, 3] +/** + * @typedef {DataDrivenMapping|ConstantMapping} Mapping + */ +/** + * @typedef {Object.} ConfigurationMapping + */ + +/** + * @typedef {Function} D3Scale - a D3 scale + * @property {Function} ticks + * @property {Function} tickFormat + */ +// comment + +// comment ================================================================================ `; -exports[`dangling_array.js format 1`] = ` +exports[`blank.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 | printWidth =====================================input====================================== -expect(() => {}).toTriggerReadyStateChanges([ - // Nothing. -]); +// This file only +// has comments. This comment +// should still exist +// +// when printed. -[1 /* first comment */, 2 /* second comment */, 3]; +/** + * @typedef {DataDrivenMapping|ConstantMapping} Mapping + */ +/** + * @typedef {Object.} ConfigurationMapping + */ + +/** + * @typedef {Function} D3Scale - a D3 scale + * @property {Function} ticks + * @property {Function} tickFormat + */ +// comment + +// comment =====================================output===================================== -expect(() => {}).toTriggerReadyStateChanges([ - // Nothing. -]); +// This file only +// has comments. This comment +// should still exist +// +// when printed. -[1 /* first comment */, 2 /* second comment */, 3]; +/** + * @typedef {DataDrivenMapping|ConstantMapping} Mapping + */ +/** + * @typedef {Object.} ConfigurationMapping + */ + +/** + * @typedef {Function} D3Scale - a D3 scale + * @property {Function} ticks + * @property {Function} tickFormat + */ +// comment + +// comment ================================================================================ `; -exports[`dangling_for.js - {"semi":false} format 1`] = ` +exports[`break-continue-statements.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 semi: false | printWidth =====================================input====================================== -for // comment -(;;); +for (;;) { + break /* comment */; + continue /* comment */; +} -for /* comment */(;;); +loop: for (;;) { + break /* comment */ loop; + break loop /* comment */; + continue /* comment */ loop; + continue loop /* comment */; +} =====================================output===================================== -// comment -for (;;); +for (;;) { + break /* comment */ + continue /* comment */ +} -/* comment */ -for (;;); +loop: for (;;) { + break /* comment */ loop + break loop /* comment */ + continue /* comment */ loop + continue loop /* comment */ +} ================================================================================ `; -exports[`dangling_for.js format 1`] = ` +exports[`break-continue-statements.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 | printWidth =====================================input====================================== -for // comment -(;;); +for (;;) { + break /* comment */; + continue /* comment */; +} -for /* comment */(;;); +loop: for (;;) { + break /* comment */ loop; + break loop /* comment */; + continue /* comment */ loop; + continue loop /* comment */; +} =====================================output===================================== -// comment -for (;;); +for (;;) { + break; /* comment */ + continue; /* comment */ +} -/* comment */ -for (;;); +loop: for (;;) { + break /* comment */ loop; + break loop /* comment */; + continue /* comment */ loop; + continue loop /* comment */; +} ================================================================================ `; -exports[`dynamic_imports.js - {"semi":false} format 1`] = ` +exports[`call_comment.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 semi: false | printWidth =====================================input====================================== -import(/* Hello */ 'something') - -import('something' /* Hello */) - -import(/* Hello */ 'something' /* Hello */) - -import('something' /* Hello */ + 'else') +render( // Warm any cache + , + container +); -import( - /* Hello */ - 'something' - /* Hello */ -) +React.render( // Warm any cache + , + container +); -wrap( - import(/* Hello */ - 'something' - ) -) +render?.( // Warm any cache + , + container +); =====================================output===================================== -import(/* Hello */ "something") - -import("something" /* Hello */) - -import(/* Hello */ "something" /* Hello */) - -import("something" /* Hello */ + "else") +render( + // Warm any cache + , + container +) -import( - /* Hello */ - "something" - /* Hello */ +React.render( + // Warm any cache + , + container ) -wrap(import(/* Hello */ "something")) +render?.( + // Warm any cache + , + container +) ================================================================================ `; -exports[`dynamic_imports.js format 1`] = ` +exports[`call_comment.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 | printWidth =====================================input====================================== -import(/* Hello */ 'something') - -import('something' /* Hello */) - -import(/* Hello */ 'something' /* Hello */) - -import('something' /* Hello */ + 'else') +render( // Warm any cache + , + container +); -import( - /* Hello */ - 'something' - /* Hello */ -) +React.render( // Warm any cache + , + container +); -wrap( - import(/* Hello */ - 'something' - ) -) +render?.( // Warm any cache + , + container +); =====================================output===================================== -import(/* Hello */ "something"); - -import("something" /* Hello */); - -import(/* Hello */ "something" /* Hello */); - -import("something" /* Hello */ + "else"); +render( + // Warm any cache + , + container +); -import( - /* Hello */ - "something" - /* Hello */ +React.render( + // Warm any cache + , + container ); -wrap(import(/* Hello */ "something")); +render?.( + // Warm any cache + , + container +); ================================================================================ `; -exports[`emoji.js - {"semi":false} format 1`] = ` +exports[`dangling.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 semi: false | printWidth =====================================input====================================== -/* #2091 */ - -const test = '💖' -// This comment -// should not get collapsed +var a = {/* dangling */}; +var b = { + // dangling +}; +var b = [/* dangling */]; +function d() { + /* dangling */ +} +new Thing(/* dangling */); +Thing(/* dangling */); +Thing?.(/* dangling */); +declare class Foo extends Qux {/* dangling */} +export /* dangling */{}; =====================================output===================================== -/* #2091 */ - -const test = "💖" -// This comment -// should not get collapsed +var a = { + /* dangling */ +} +var b = { + // dangling +} +var b = [ + /* dangling */ +] +function d() { + /* dangling */ +} +new Thing(/* dangling */) +Thing(/* dangling */) +Thing?.(/* dangling */) +declare class Foo extends Qux { + /* dangling */ +} +export /* dangling */{} ================================================================================ `; -exports[`emoji.js format 1`] = ` +exports[`dangling.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 | printWidth =====================================input====================================== -/* #2091 */ - -const test = '💖' -// This comment -// should not get collapsed +var a = {/* dangling */}; +var b = { + // dangling +}; +var b = [/* dangling */]; +function d() { + /* dangling */ +} +new Thing(/* dangling */); +Thing(/* dangling */); +Thing?.(/* dangling */); +declare class Foo extends Qux {/* dangling */} +export /* dangling */{}; =====================================output===================================== -/* #2091 */ - -const test = "💖"; -// This comment -// should not get collapsed +var a = { + /* dangling */ +}; +var b = { + // dangling +}; +var b = [ + /* dangling */ +]; +function d() { + /* dangling */ +} +new Thing(/* dangling */); +Thing(/* dangling */); +Thing?.(/* dangling */); +declare class Foo extends Qux { + /* dangling */ +} +export /* dangling */{}; ================================================================================ `; -exports[`end-of-line-block-comments.js - {"semi":false} format 1`] = ` +exports[`dangling_array.js - {"semi":false} format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 semi: false | printWidth =====================================input====================================== -a = b || /** Comment */ -c; - -a = b /** Comment */ || -c; - -a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ -c; - -a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || -c; - -a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; - -a = b || // Comment -c; - -a = b || // TODO this is a very very very very long comment that makes it go > 80 columns -c; - -a = b && /** Comment */ -c; - -a = b /** Comment */ && -c; - -a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ -c; - -a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && -c; - -a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; - -a = b && // Comment -c; - -a = b && // TODO this is a very very very very long comment that makes it go > 80 columns -c; - -a = b + /** Comment */ -c; - -a = b /** Comment */ + -c; - -a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ -c; - -a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + -c; - -a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +expect(() => {}).toTriggerReadyStateChanges([ + // Nothing. +]); -a = b + // Comment -c; +[1 /* first comment */, 2 /* second comment */, 3]; -a = b + // TODO this is a very very very very long comment that makes it go > 80 columns -c; =====================================output===================================== -a = b || /** Comment */ c - -a = b /** Comment */ || c - -a = - b || - /** TODO this is a very very very very long comment that makes it go > 80 columns */ - c - -a = - b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || - c - -a = - b || - /** TODO this is a very very very very long comment that makes it go > 80 columns */ c - -a = - b || c // Comment - -a = - b || c // TODO this is a very very very very long comment that makes it go > 80 columns - -a = b && /** Comment */ c - -a = b /** Comment */ && c - -a = - b && - /** TODO this is a very very very very long comment that makes it go > 80 columns */ - c - -a = - b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && - c +expect(() => {}).toTriggerReadyStateChanges([ + // Nothing. +]) -a = - b && - /** TODO this is a very very very very long comment that makes it go > 80 columns */ c +;[1 /* first comment */, 2 /* second comment */, 3] -a = - b && c // Comment +================================================================================ +`; -a = - b && c // TODO this is a very very very very long comment that makes it go > 80 columns +exports[`dangling_array.js format 1`] = ` +====================================options===================================== +parsers: ["flow", "babel", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +expect(() => {}).toTriggerReadyStateChanges([ + // Nothing. +]); -a = b + /** Comment */ c +[1 /* first comment */, 2 /* second comment */, 3]; -a = b /** Comment */ + c +=====================================output===================================== +expect(() => {}).toTriggerReadyStateChanges([ + // Nothing. +]); -a = - b + - /** TODO this is a very very very very long comment that makes it go > 80 columns */ - c +[1 /* first comment */, 2 /* second comment */, 3]; -a = - b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + - c +================================================================================ +`; -a = - b + - /** TODO this is a very very very very long comment that makes it go > 80 columns */ c +exports[`dangling_for.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +for // comment +(;;); -a = - b + c // Comment +for /* comment */(;;); -a = - b + c // TODO this is a very very very very long comment that makes it go > 80 columns +=====================================output===================================== +// comment +for (;;); + +/* comment */ +for (;;); ================================================================================ `; -exports[`end-of-line-block-comments.js format 1`] = ` +exports[`dangling_for.js format 1`] = ` ====================================options===================================== parsers: ["flow", "babel", "typescript"] printWidth: 80 | printWidth =====================================input====================================== -a = b || /** Comment */ -c; - -a = b /** Comment */ || -c; +for // comment +(;;); -a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ -c; +for /* comment */(;;); -a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || -c; +=====================================output===================================== +// comment +for (;;); -a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +/* comment */ +for (;;); -a = b || // Comment -c; +================================================================================ +`; -a = b || // TODO this is a very very very very long comment that makes it go > 80 columns -c; +exports[`dynamic_imports.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +import(/* Hello */ 'something') -a = b && /** Comment */ -c; +import('something' /* Hello */) -a = b /** Comment */ && -c; +import(/* Hello */ 'something' /* Hello */) -a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ -c; +import('something' /* Hello */ + 'else') -a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && -c; +import( + /* Hello */ + 'something' + /* Hello */ +) -a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +wrap( + import(/* Hello */ + 'something' + ) +) -a = b && // Comment -c; +=====================================output===================================== +import(/* Hello */ "something") -a = b && // TODO this is a very very very very long comment that makes it go > 80 columns -c; +import("something" /* Hello */) -a = b + /** Comment */ -c; +import(/* Hello */ "something" /* Hello */) -a = b /** Comment */ + -c; +import("something" /* Hello */ + "else") -a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ -c; +import( + /* Hello */ + "something" + /* Hello */ +) -a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + -c; +wrap(import(/* Hello */ "something")) -a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +================================================================================ +`; -a = b + // Comment -c; +exports[`dynamic_imports.js format 1`] = ` +====================================options===================================== +parsers: ["flow", "babel", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +import(/* Hello */ 'something') -a = b + // TODO this is a very very very very long comment that makes it go > 80 columns -c; -=====================================output===================================== -a = b || /** Comment */ c; +import('something' /* Hello */) -a = b /** Comment */ || c; +import(/* Hello */ 'something' /* Hello */) -a = - b || - /** TODO this is a very very very very long comment that makes it go > 80 columns */ - c; +import('something' /* Hello */ + 'else') -a = - b /** TODO this is a very very very very long comment that makes it go > 80 columns */ || - c; +import( + /* Hello */ + 'something' + /* Hello */ +) -a = - b || - /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +wrap( + import(/* Hello */ + 'something' + ) +) -a = - b || c; // Comment +=====================================output===================================== +import(/* Hello */ "something"); -a = - b || c; // TODO this is a very very very very long comment that makes it go > 80 columns +import("something" /* Hello */); -a = b && /** Comment */ c; +import(/* Hello */ "something" /* Hello */); -a = b /** Comment */ && c; +import("something" /* Hello */ + "else"); -a = - b && - /** TODO this is a very very very very long comment that makes it go > 80 columns */ - c; +import( + /* Hello */ + "something" + /* Hello */ +); -a = - b /** TODO this is a very very very very long comment that makes it go > 80 columns */ && - c; +wrap(import(/* Hello */ "something")); -a = - b && - /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +================================================================================ +`; -a = - b && c; // Comment +exports[`emoji.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +/* #2091 */ -a = - b && c; // TODO this is a very very very very long comment that makes it go > 80 columns +const test = '💖' +// This comment +// should not get collapsed -a = b + /** Comment */ c; +=====================================output===================================== +/* #2091 */ -a = b /** Comment */ + c; +const test = "💖" +// This comment +// should not get collapsed -a = - b + - /** TODO this is a very very very very long comment that makes it go > 80 columns */ - c; +================================================================================ +`; -a = - b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + - c; +exports[`emoji.js format 1`] = ` +====================================options===================================== +parsers: ["flow", "babel", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +/* #2091 */ -a = - b + - /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; +const test = '💖' +// This comment +// should not get collapsed -a = - b + c; // Comment +=====================================output===================================== +/* #2091 */ -a = - b + c; // TODO this is a very very very very long comment that makes it go > 80 columns +const test = "💖"; +// This comment +// should not get collapsed ================================================================================ `; diff --git a/tests/comments/end-of-line-block-comments.js b/tests/comments/binary-expressions-block-comments.js similarity index 72% rename from tests/comments/end-of-line-block-comments.js rename to tests/comments/binary-expressions-block-comments.js index 5c883ed8b6cf..703ae1ab88c0 100644 --- a/tests/comments/end-of-line-block-comments.js +++ b/tests/comments/binary-expressions-block-comments.js @@ -12,12 +12,6 @@ c; a = b || /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; -a = b || // Comment -c; - -a = b || // TODO this is a very very very very long comment that makes it go > 80 columns -c; - a = b && /** Comment */ c; @@ -32,12 +26,6 @@ c; a = b && /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; -a = b && // Comment -c; - -a = b && // TODO this is a very very very very long comment that makes it go > 80 columns -c; - a = b + /** Comment */ c; @@ -50,10 +38,4 @@ c; a = b /** TODO this is a very very very very long comment that makes it go > 80 columns */ + c; -a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; - -a = b + // Comment -c; - -a = b + // TODO this is a very very very very long comment that makes it go > 80 columns -c; \ No newline at end of file +a = b + /** TODO this is a very very very very long comment that makes it go > 80 columns */ c; \ No newline at end of file diff --git a/tests/comments/binary-expressions-single-comments.js b/tests/comments/binary-expressions-single-comments.js new file mode 100644 index 000000000000..2cd6a6da9a48 --- /dev/null +++ b/tests/comments/binary-expressions-single-comments.js @@ -0,0 +1,17 @@ +a = b || // Comment +c; + +a = b || // TODO this is a very very very very long comment that makes it go > 80 columns +c; + +a = b && // Comment +c; + +a = b && // TODO this is a very very very very long comment that makes it go > 80 columns +c; + +a = b + // Comment +c; + +a = b + // TODO this is a very very very very long comment that makes it go > 80 columns +c; \ No newline at end of file diff --git a/tests_config/run_spec.js b/tests_config/run_spec.js index 930da7162694..09f20c0c37c8 100644 --- a/tests_config/run_spec.js +++ b/tests_config/run_spec.js @@ -25,7 +25,7 @@ const unstableTests = new Map( "class_comment/comments.js", ["comments/dangling_array.js", (options) => options.semi === false], ["comments/jsx.js", (options) => options.semi === false], - "comments/end-of-line-block-comments.js", + "comments/binary-expressions-single-comments.js", "comments/return-statement.js", "comments/tagged-template-literal.js", "comments_closure_typecast/iife.js",