clang-format: [JS] Fix incorrect line length calculation.
authorDaniel Jasper <djasper@google.com>
Tue, 2 Jun 2015 15:14:21 +0000 (15:14 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 2 Jun 2015 15:14:21 +0000 (15:14 +0000)
llvm-svn: 238841

clang/lib/Format/ContinuationIndenter.cpp
clang/unittests/Format/FormatTestJS.cpp

index 39b2793..204bcc9 100644 (file)
@@ -159,7 +159,8 @@ bool ContinuationIndenter::mustBreak(const LineState &State) {
   if (((Previous.is(TT_DictLiteral) && Previous.is(tok::l_brace)) ||
        Previous.is(TT_ArrayInitializerLSquare)) &&
       Style.ColumnLimit > 0 &&
-      getLengthToMatchingParen(Previous) + State.Column > getColumnLimit(State))
+      getLengthToMatchingParen(Previous) + State.Column - 1 >
+          getColumnLimit(State))
     return true;
   if (Current.is(TT_CtorInitializerColon) &&
       ((Style.AllowShortFunctionsOnASingleLine != FormatStyle::SFS_All) ||
index 25113ab..a18d35b 100644 (file)
@@ -259,7 +259,8 @@ TEST_F(FormatTestJS, ArrayLiterals) {
                "]);");
   verifyFormat("var someVariable = SomeFuntion([\n"
                "  [aaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbb],\n"
-               "]);");
+               "]);",
+               getGoogleJSStyleWithColumns(51));
   verifyFormat("var someVariable = SomeFuntion(aaaa, [\n"
                "  aaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
                "  bbbbbbbbbbbbbbbbbbbbbbbbbbb,\n"