diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts
index b3e84023d17..256398d9a20 100644
--- a/src/services/formatting/formatting.ts
+++ b/src/services/formatting/formatting.ts
@@ -836,11 +836,9 @@ namespace ts.formatting {
if (listEndToken !== SyntaxKind.Unknown && formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) {
let tokenInfo: TokenInfo | undefined = formattingScanner.readTokenInfo(parent);
if (tokenInfo.token.kind === SyntaxKind.CommaToken && isCallLikeExpression(parent)) {
- const commaTokenLine = sourceFile.getLineAndCharacterOfPosition(tokenInfo.token.pos).line;
- if (startLine !== commaTokenLine) {
- formattingScanner.advance();
- tokenInfo = formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(parent) : undefined;
- }
+ // consume the comma
+ consumeTokenAndAdvanceScanner(tokenInfo, parent, listDynamicIndentation, parent);
+ tokenInfo = formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(parent) : undefined;
}
// consume the list end token only if it is still belong to the parent
diff --git a/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace3.ts b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace3.ts
new file mode 100644
index 00000000000..57a89239dfe
--- /dev/null
+++ b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace3.ts
@@ -0,0 +1,8 @@
+///
+
+////foo(
+//// 1, /* comment */ );
+
+format.document();
+verify.currentFileContentIs(`foo(
+ 1, /* comment */);`);
diff --git a/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace4.ts b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace4.ts
new file mode 100644
index 00000000000..fc7a18ec8c7
--- /dev/null
+++ b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace4.ts
@@ -0,0 +1,8 @@
+///
+
+////new Foo(1
+////, /* comment */ );
+
+format.document();
+verify.currentFileContentIs(`new Foo(1
+ , /* comment */);`);
diff --git a/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace5.ts b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace5.ts
new file mode 100644
index 00000000000..59d385dafbc
--- /dev/null
+++ b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace5.ts
@@ -0,0 +1,8 @@
+///
+
+////new Foo(1,
+//// /* comment */ );
+
+format.document();
+verify.currentFileContentIs(`new Foo(1,
+ /* comment */);`);
diff --git a/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace6.ts b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace6.ts
new file mode 100644
index 00000000000..6243c91ee42
--- /dev/null
+++ b/tests/cases/fourslash/formatNoSpaceBeforeCloseBrace6.ts
@@ -0,0 +1,8 @@
+///
+
+////new Foo(1, /* comment */
+//// );
+
+format.document();
+verify.currentFileContentIs(`new Foo(1, /* comment */
+);`);