diff options
author | Krasimir Georgiev <krasimir@google.com> | 2018-08-07 10:23:24 +0000 |
---|---|---|
committer | Krasimir Georgiev <krasimir@google.com> | 2018-08-07 10:23:24 +0000 |
commit | 123ca80bdba39952c60081dda4ec7537a76c2d92 (patch) | |
tree | 82981a8b5e55acb69289bb65e3973b8f967e053a /clang/unittests/Format/FormatTestJS.cpp | |
parent | 2f0881160c2135e1e3230c50645d9728ed51844c (diff) | |
download | bcm5719-llvm-123ca80bdba39952c60081dda4ec7537a76c2d92.tar.gz bcm5719-llvm-123ca80bdba39952c60081dda4ec7537a76c2d92.zip |
[clang-format] comment reflow: add last line's penalty when ending broken
Summary:
This fixes a bug in clang-format where the last line's penalty is not
taken into account when its ending is broken. Usually the last line's penalty
is handled by addNextStateToQueue, but in cases where the trailing `*/` is put
on a newline, the contents of the last line have to be considered for penalizing.
Reviewers: mprobst
Reviewed By: mprobst
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D50378
llvm-svn: 339123
Diffstat (limited to 'clang/unittests/Format/FormatTestJS.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTestJS.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index 58a900352a2..83467837389 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -2284,5 +2284,25 @@ TEST_F(FormatTestJS, BackslashesInComments) { "formatMe( );\n"); } +TEST_F(FormatTestJS, AddsLastLinePenaltyIfEndingIsBroken) { + EXPECT_EQ( + "a = function() {\n" + " b = function() {\n" + " this.aaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa] = aaaa.aaaaaa ?\n" + " aaaa.aaaaaa : /** @type " + "{aaaa.aaaa.aaaaaaaaa.aaaaaaaaaaaaaaaaaaa} */\n" + " (aaaa.aaaa.aaaaaaaaa.aaaaaaaaaaaaa.aaaaaaaaaaaaaaaaa);\n" + " };\n" + "};", + format("a = function() {\n" + " b = function() {\n" + " this.aaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa] = aaaa.aaaaaa ? " + "aaaa.aaaaaa : /** @type " + "{aaaa.aaaa.aaaaaaaaa.aaaaaaaaaaaaaaaaaaa} */\n" + " (aaaa.aaaa.aaaaaaaaa.aaaaaaaaaaaaa.aaaaaaaaaaaaaaaaa);\n" + " };\n" + "};")); +} + } // end namespace tooling } // end namespace clang |