diff options
| -rw-r--r-- | clang/lib/Format/ContinuationIndenter.cpp | 2 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 29 |
2 files changed, 22 insertions, 9 deletions
diff --git a/clang/lib/Format/ContinuationIndenter.cpp b/clang/lib/Format/ContinuationIndenter.cpp index 77d981b8f5e..63bb5e9918b 100644 --- a/clang/lib/Format/ContinuationIndenter.cpp +++ b/clang/lib/Format/ContinuationIndenter.cpp @@ -739,7 +739,7 @@ unsigned ContinuationIndenter::moveStateToNextToken(LineState &State, Current.PackingKind == PPK_Inconclusive))); // If this '[' opens an ObjC call, determine whether all parameters fit // into one line and put one per line if they don't. - if (Current.Type == TT_ObjCMethodExpr && + if (Current.Type == TT_ObjCMethodExpr && Style.ColumnLimit != 0 && getLengthToMatchingParen(Current) + State.Column > getColumnLimit(State)) BreakBeforeParameter = true; diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 7ac6cb49873..e5a94cf1e94 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -8547,12 +8547,16 @@ TEST_F(FormatTest, FormatsWithWebKitStyle) { Style)); // Keep empty and one-element array literals on a single line. - verifyFormat("NSArray* a = [[NSArray alloc] initWithArray:@[]\n" - " copyItems:YES];", - Style); - verifyFormat("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\" ]\n" - " copyItems:YES];", - Style); + EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[]\n" + " copyItems:YES];", + format("NSArray*a=[[NSArray alloc] initWithArray:@[]\n" + "copyItems:YES];", + Style)); + EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\" ]\n" + " copyItems:YES];", + format("NSArray*a=[[NSArray alloc]initWithArray:@[ @\"a\" ]\n" + " copyItems:YES];", + Style)); EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[\n" " @\"a\",\n" " @\"a\"\n" @@ -8564,10 +8568,19 @@ TEST_F(FormatTest, FormatsWithWebKitStyle) { " ]\n" " copyItems:YES];", Style)); - verifyFormat( + EXPECT_EQ( "NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\", @\"a\" ]\n" " copyItems:YES];", - Style); + format("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\", @\"a\" ]\n" + " copyItems:YES];", + Style)); + + verifyFormat("[self.a b:c c:d];", Style); + EXPECT_EQ("[self.a b:c\n" + " c:d];", + format("[self.a b:c\n" + "c:d];", + Style)); } TEST_F(FormatTest, FormatsLambdas) { |

