diff options
Diffstat (limited to 'clang/unittests/Format/FormatTestComments.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTestComments.cpp | 502 |
1 files changed, 1 insertions, 501 deletions
diff --git a/clang/unittests/Format/FormatTestComments.cpp b/clang/unittests/Format/FormatTestComments.cpp index 43869f7..457e732 100644 --- a/clang/unittests/Format/FormatTestComments.cpp +++ b/clang/unittests/Format/FormatTestComments.cpp @@ -3144,7 +3144,7 @@ TEST_F(FormatTestComments, PythonStyleComments) { " # commen6\n" " # commen7", format("k:val#commen1 commen2\n" - " #commen3\n" + " # commen3\n" "# commen4\n" "a:1#commen5 commen6\n" " #commen7", @@ -3275,506 +3275,6 @@ TEST_F(FormatTestComments, IndentsLongJavadocAnnotatedLines) { JSStyle20)); } -TEST_F(FormatTestComments, SpaceAtLineCommentBegin) { - FormatStyle Style = getLLVMStyle(); - StringRef NoTextInComment = " // \n" - "\n" - "void foo() {// \n" - "// \n" - "}"; - - EXPECT_EQ("//\n" - "\n" - "void foo() { //\n" - " //\n" - "}", - format(NoTextInComment, Style)); - - Style.SpacesInLineCommentPrefix.Minimum = 0; - EXPECT_EQ("//\n" - "\n" - "void foo() { //\n" - " //\n" - "}", - format(NoTextInComment, Style)); - - Style.SpacesInLineCommentPrefix.Minimum = 5; - EXPECT_EQ("//\n" - "\n" - "void foo() { //\n" - " //\n" - "}", - format(NoTextInComment, Style)); - - Style = getLLVMStyle(); - StringRef Code = - "//Free comment without space\n" - "\n" - "// Free comment with 3 spaces\n" - "\n" - "///Free Doxygen without space\n" - "\n" - "/// Free Doxygen with 3 spaces\n" - "\n" - "/// A Doxygen Comment with a nested list:\n" - "/// - Foo\n" - "/// - Bar\n" - "/// - Baz\n" - "/// - End\n" - "/// of the inner list\n" - "/// .\n" - "/// .\n" - "\n" - "namespace Foo {\n" - "bool bar(bool b) {\n" - " bool ret1 = true; ///<Doxygenstyle without space\n" - " bool ret2 = true; ///< Doxygenstyle with 3 spaces\n" - " if (b) {\n" - " //Foo\n" - "\n" - " // In function comment\n" - " ret2 = false;\n" - " } // End of if\n" - "\n" - "// if (ret1) {\n" // Commented out at the beginning of the line - "// return ret2;\n" - "// }\n" - "\n" - " //if (ret1) {\n" // Commtented out at the beginning of the content - " // return ret2;\n" - " //}\n" - "\n" - " return ret1 && ret2;\n" - "}\n" - "}\n" - "\n" - "namespace Bar {\n" - "int foo();\n" - "} // namespace Bar\n" - "//@Nothing added because of the non ascii char\n" - "\n" - "//@ Nothing removed because of the non ascii char\n" - "\n" - "// Comment to move to the left\n" - "//But not this?\n" - "// @but this\n" - "\n" - "//Comment to move to the right\n" - "//@ this stays\n"; - - EXPECT_EQ("// Free comment without space\n" - "\n" - "// Free comment with 3 spaces\n" - "\n" - "/// Free Doxygen without space\n" - "\n" - "/// Free Doxygen with 3 spaces\n" - "\n" - "/// A Doxygen Comment with a nested list:\n" - "/// - Foo\n" - "/// - Bar\n" - "/// - Baz\n" - "/// - End\n" - "/// of the inner list\n" - "/// .\n" - "/// .\n" - "\n" - "namespace Foo {\n" - "bool bar(bool b) {\n" - " bool ret1 = true; ///< Doxygenstyle without space\n" - " bool ret2 = true; ///< Doxygenstyle with 3 spaces\n" - " if (b) {\n" - " // Foo\n" - "\n" - " // In function comment\n" - " ret2 = false;\n" - " } // End of if\n" - "\n" - " // if (ret1) {\n" - " // return ret2;\n" - " // }\n" - "\n" - " // if (ret1) {\n" - " // return ret2;\n" - " // }\n" - "\n" - " return ret1 && ret2;\n" - "}\n" - "} // namespace Foo\n" - "\n" - "namespace Bar {\n" - "int foo();\n" - "} // namespace Bar\n" - "//@Nothing added because of the non ascii char\n" - "\n" - "//@ Nothing removed because of the non ascii char\n" - "\n" - "// Comment to move to the left\n" - "// But not this?\n" - "// @but this\n" - "\n" - "// Comment to move to the right\n" - "//@ this stays\n", - format(Code, Style)); - - Style.SpacesInLineCommentPrefix = {0, 0}; - EXPECT_EQ("//Free comment without space\n" - "\n" - "//Free comment with 3 spaces\n" - "\n" - "///Free Doxygen without space\n" - "\n" - "///Free Doxygen with 3 spaces\n" - "\n" - "///A Doxygen Comment with a nested list:\n" - "///- Foo\n" - "///- Bar\n" - "/// - Baz\n" // Here we keep the relative indentation - "/// - End\n" - "/// of the inner list\n" - "/// .\n" - "///.\n" - "\n" - "namespace Foo {\n" - "bool bar(bool b) {\n" - " bool ret1 = true; ///<Doxygenstyle without space\n" - " bool ret2 = true; ///<Doxygenstyle with 3 spaces\n" - " if (b) {\n" - " //Foo\n" - "\n" - " //In function comment\n" - " ret2 = false;\n" - " } //End of if\n" - "\n" - " //if (ret1) {\n" - " // return ret2;\n" - " //}\n" - "\n" - " //if (ret1) {\n" - " // return ret2;\n" - " //}\n" - "\n" - " return ret1 && ret2;\n" - "}\n" - "} //namespace Foo\n" - "\n" - "namespace Bar {\n" - "int foo();\n" - "} //namespace Bar\n" - "//@Nothing added because of the non ascii char\n" - "\n" - "//@ Nothing removed because of the non ascii char\n" - "\n" - "//Comment to move to the left\n" - "//But not this?\n" - "//@but this\n" - "\n" - "//Comment to move to the right\n" - "//@ this stays\n", - format(Code, Style)); - - Style.SpacesInLineCommentPrefix = {2, -1u}; - EXPECT_EQ("// Free comment without space\n" - "\n" - "// Free comment with 3 spaces\n" - "\n" - "/// Free Doxygen without space\n" - "\n" - "/// Free Doxygen with 3 spaces\n" - "\n" - "/// A Doxygen Comment with a nested list:\n" - "/// - Foo\n" - "/// - Bar\n" - "/// - Baz\n" - "/// - End\n" - "/// of the inner list\n" - "/// .\n" - "/// .\n" - "\n" - "namespace Foo {\n" - "bool bar(bool b) {\n" - " bool ret1 = true; ///< Doxygenstyle without space\n" - " bool ret2 = true; ///< Doxygenstyle with 3 spaces\n" - " if (b) {\n" - " // Foo\n" - "\n" - " // In function comment\n" - " ret2 = false;\n" - " } // End of if\n" - "\n" - " // if (ret1) {\n" - " // return ret2;\n" - " // }\n" - "\n" - " // if (ret1) {\n" - " // return ret2;\n" - " // }\n" - "\n" - " return ret1 && ret2;\n" - "}\n" - "} // namespace Foo\n" - "\n" - "namespace Bar {\n" - "int foo();\n" - "} // namespace Bar\n" - "//@Nothing added because of the non ascii char\n" - "\n" - "//@ Nothing removed because of the non ascii char\n" - "\n" - "// Comment to move to the left\n" - "// But not this?\n" - "// @but this\n" - "\n" - "// Comment to move to the right\n" - "//@ this stays\n", - format(Code, Style)); - - Style = getLLVMStyleWithColumns(20); - StringRef WrapCode = "//Lorem ipsum dolor sit amet\n" - "\n" - "// Lorem ipsum dolor sit amet\n" - "\n" - "void f() {//Hello World\n" - "}"; - - EXPECT_EQ("// Lorem ipsum dolor\n" - "// sit amet\n" - "\n" - "// Lorem ipsum\n" - "// dolor sit amet\n" - "\n" - "void f() { // Hello\n" - " // World\n" - "}", - format(WrapCode, Style)); - - Style.SpacesInLineCommentPrefix = {0, 0}; - EXPECT_EQ("//Lorem ipsum dolor\n" - "//sit amet\n" - "\n" - "//Lorem ipsum\n" - "//dolor sit amet\n" - "\n" - "void f() { //Hello\n" - " //World\n" - "}", - format(WrapCode, Style)); - - Style.SpacesInLineCommentPrefix = {1, 1}; - EXPECT_EQ("// Lorem ipsum dolor\n" - "// sit amet\n" - "\n" - "// Lorem ipsum\n" - "// dolor sit amet\n" - "\n" - "void f() { // Hello\n" - " // World\n" - "}", - format(WrapCode, Style)); - - Style.SpacesInLineCommentPrefix = {3, 3}; - EXPECT_EQ("// Lorem ipsum\n" - "// dolor sit amet\n" - "\n" - "// Lorem ipsum\n" - "// dolor sit\n" - "// amet\n" - "\n" - "void f() { // Hello\n" - " // World\n" - "}", - format(WrapCode, Style)); - - Style = getLLVMStyleWithColumns(20); - StringRef AShitloadOfSpaces = "// This are more spaces " - "than the ColumnLimit, what now?\n" - "\n" - "// Comment\n" - "\n" - "// This is a text to split in multiple " - "lines, please. Thank you very much!\n" - "\n" - "// A comment with\n" - "// some indentation that has to be split.\n" - "// And now without"; - EXPECT_EQ("// This are more spaces " - "than the ColumnLimit, what now?\n" - "\n" - "// Comment\n" - "\n" - "// This is a text to\n" - "// split in multiple\n" - "// lines, please.\n" - "// Thank you very\n" - "// much!\n" - "\n" - "// A comment with\n" - "// some\n" - "// indentation\n" - "// that has to be\n" - "// split.\n" - "// And now without", - format(AShitloadOfSpaces, Style)); - - Style.SpacesInLineCommentPrefix = {0, 0}; - EXPECT_EQ("//This are more\n" - "//spaces than the\n" - "//ColumnLimit, what\n" - "//now?\n" - "\n" - "//Comment\n" - "\n" - "//This is a text to\n" - "//split in multiple\n" - "//lines, please.\n" - "//Thank you very\n" - "//much!\n" - "\n" - "//A comment with\n" - "// some indentation\n" - "// that has to be\n" - "// split.\n" - "//And now without", - format(AShitloadOfSpaces, Style)); - - Style.SpacesInLineCommentPrefix = {3, 3}; - EXPECT_EQ("// This are more\n" - "// spaces than the\n" - "// ColumnLimit,\n" - "// what now?\n" - "\n" - "// Comment\n" - "\n" - "// This is a text\n" - "// to split in\n" - "// multiple lines,\n" - "// please. Thank\n" - "// you very much!\n" - "\n" - "// A comment with\n" - "// some\n" - "// indentation\n" - "// that has to\n" - "// be split.\n" - "// And now without", - format(AShitloadOfSpaces, Style)); - - Style.SpacesInLineCommentPrefix = {30, -1u}; - EXPECT_EQ("// This are more spaces than the " - "ColumnLimit, what now?\n" - "\n" - "// Comment\n" - "\n" - "// This is a text to split in " - "multiple lines, please. Thank you very much!\n" - "\n" - "// A comment with\n" - "// some indentation that has to be " - "split.\n" - "// And now without", - format(AShitloadOfSpaces, Style)); - - Style.SpacesInLineCommentPrefix = {2, 4}; - EXPECT_EQ("// A Comment to be\n" - "// moved\n" - "// with indent\n" - "\n" - "// A Comment to be\n" - "// moved\n" - "// with indent\n" - "\n" - "// A Comment to be\n" - "// moved\n" - "// with indent\n" - "\n" - "// A Comment to be\n" - "// moved\n" - "// with indent\n" - "\n" - "// A Comment to\n" - "// be moved\n" - "// with indent\n" - "\n" - "// A Comment to\n" - "// be moved\n" - "// with indent\n" - "\n" - "// A Comment to\n" - "// be moved\n" - "// with indent\n", - format("//A Comment to be moved\n" - "// with indent\n" - "\n" - "// A Comment to be moved\n" - "// with indent\n" - "\n" - "// A Comment to be moved\n" - "// with indent\n" - "\n" - "// A Comment to be moved\n" - "// with indent\n" - "\n" - "// A Comment to be moved\n" - "// with indent\n" - "\n" - "// A Comment to be moved\n" - "// with indent\n" - "\n" - "// A Comment to be moved\n" - "// with indent\n", - Style)); - - Style.ColumnLimit = 30; - EXPECT_EQ("int i; // A Comment to be\n" - " // moved\n" - " // with indent\n" - "\n" - "int i; // A Comment to be\n" - " // moved\n" - " // with indent\n" - "\n" - "int i; // A Comment to be\n" - " // moved\n" - " // with indent\n" - "\n" - "int i; // A Comment to be\n" - " // moved\n" - " // with indent\n" - "\n" - "int i; // A Comment to be\n" - " // moved\n" - " // with indent\n" - "\n" - "int i; // A Comment to be\n" - " // moved\n" - " // with indent\n" - "\n" - "int i; // A Comment to be\n" - " // moved\n" - " // with indent\n", - format("int i;//A Comment to be moved\n" - " // with indent\n" - "\n" - "int i;// A Comment to be moved\n" - " // with indent\n" - "\n" - "int i;// A Comment to be moved\n" - " // with indent\n" - "\n" - "int i;// A Comment to be moved\n" - " // with indent\n" - "\n" - "int i;// A Comment to be moved\n" - " // with indent\n" - "\n" - "int i;// A Comment to be moved\n" - " // with indent\n" - "\n" - "int i;// A Comment to be moved\n" - " // with indent\n", - Style)); -} - } // end namespace } // end namespace format } // end namespace clang |