diff options
Diffstat (limited to 'unittests/Format/FormatTestComments.cpp')
-rw-r--r-- | unittests/Format/FormatTestComments.cpp | 109 |
1 files changed, 107 insertions, 2 deletions
diff --git a/unittests/Format/FormatTestComments.cpp b/unittests/Format/FormatTestComments.cpp index 4238efe54f064..a44a6845587da 100644 --- a/unittests/Format/FormatTestComments.cpp +++ b/unittests/Format/FormatTestComments.cpp @@ -1020,6 +1020,38 @@ TEST_F(FormatTestComments, SplitsLongLinesInCommentsInPreprocessor) { getLLVMStyleWithColumns(20))); } +TEST_F(FormatTestComments, KeepsTrailingPPCommentsAndSectionCommentsSeparate) { + verifyFormat("#ifdef A // line about A\n" + "// section comment\n" + "#endif", + getLLVMStyleWithColumns(80)); + verifyFormat("#ifdef A // line 1 about A\n" + " // line 2 about A\n" + "// section comment\n" + "#endif", + getLLVMStyleWithColumns(80)); + EXPECT_EQ("#ifdef A // line 1 about A\n" + " // line 2 about A\n" + "// section comment\n" + "#endif", + format("#ifdef A // line 1 about A\n" + " // line 2 about A\n" + "// section comment\n" + "#endif", + getLLVMStyleWithColumns(80))); + verifyFormat("int f() {\n" + " int i;\n" + "#ifdef A // comment about A\n" + " // section comment 1\n" + " // section comment 2\n" + " i = 2;\n" + "#else // comment about #else\n" + " // section comment 3\n" + " i = 4;\n" + "#endif\n" + "}", getLLVMStyleWithColumns(80)); +} + TEST_F(FormatTestComments, CommentsInStaticInitializers) { EXPECT_EQ( "static SomeType type = {aaaaaaaaaaaaaaaaaaaa, /* comment */\n" @@ -1198,6 +1230,16 @@ TEST_F(FormatTestComments, ReflowsComments) { format("/* long long long long\n" " * long */", getLLVMStyleWithColumns(20))); + EXPECT_EQ("///< long long long\n" + "///< long long\n", + format("///< long long long long\n" + "///< long\n", + getLLVMStyleWithColumns(20))); + EXPECT_EQ("//!< long long long\n" + "//!< long long\n", + format("//!< long long long long\n" + "//!< long\n", + getLLVMStyleWithColumns(20))); // Don't bring leading whitespace up while reflowing. EXPECT_EQ("/* long long long\n" @@ -1535,7 +1577,7 @@ TEST_F(FormatTestComments, ReflowsComments) { " *\n" " * long */", getLLVMStyleWithColumns(20))); - + // Don't reflow lines having content that is a single character. EXPECT_EQ("// long long long\n" "// long\n" @@ -1560,7 +1602,7 @@ TEST_F(FormatTestComments, ReflowsComments) { format("// long long long long\n" "// @param arg", getLLVMStyleWithColumns(20))); - + // Don't reflow lines starting with 'TODO'. EXPECT_EQ("// long long long\n" "// long\n" @@ -1629,6 +1671,69 @@ TEST_F(FormatTestComments, ReflowsComments) { "// long", getLLVMStyleWithColumns(20))); + // Don't reflow separate bullets in list + EXPECT_EQ("// - long long long\n" + "// long\n" + "// - long", + format("// - long long long long\n" + "// - long", + getLLVMStyleWithColumns(20))); + EXPECT_EQ("// * long long long\n" + "// long\n" + "// * long", + format("// * long long long long\n" + "// * long", + getLLVMStyleWithColumns(20))); + EXPECT_EQ("// + long long long\n" + "// long\n" + "// + long", + format("// + long long long long\n" + "// + long", + getLLVMStyleWithColumns(20))); + EXPECT_EQ("// 1. long long long\n" + "// long\n" + "// 2. long", + format("// 1. long long long long\n" + "// 2. long", + getLLVMStyleWithColumns(20))); + EXPECT_EQ("// -# long long long\n" + "// long\n" + "// -# long", + format("// -# long long long long\n" + "// -# long", + getLLVMStyleWithColumns(20))); + + EXPECT_EQ("// - long long long\n" + "// long long long\n" + "// - long", + format("// - long long long long\n" + "// long long\n" + "// - long", + getLLVMStyleWithColumns(20))); + EXPECT_EQ("// - long long long\n" + "// long long long\n" + "// long\n" + "// - long", + format("// - long long long long\n" + "// long long long\n" + "// - long", + getLLVMStyleWithColumns(20))); + + // Large number (>2 digits) are not list items + EXPECT_EQ("// long long long\n" + "// long 1024. long.", + format("// long long long long\n" + "// 1024. long.", + getLLVMStyleWithColumns(20))); + + // Do not break before number, to avoid introducing a non-reflowable doxygen + // list item. + EXPECT_EQ("// long long\n" + "// long 10. long.", + format("// long long long 10.\n" + "// long.", + getLLVMStyleWithColumns(20))); + // Don't break or reflow after implicit string literals. verifyFormat("#include <t> // l l l\n" " // l", |