summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2015-03-02 11:55:04 +0000
committerAlexander Kornienko <alexfh@google.com>2015-03-02 11:55:04 +0000
commit37f80456ce0d1abc10683d266695c587045439c4 (patch)
tree87079c55457bcad013599285da9c5f67bd64e071 /clang-tools-extra/unittests
parent8384d491d8c5fb2105a461cdbc45c7470cf9672f (diff)
downloadbcm5719-llvm-37f80456ce0d1abc10683d266695c587045439c4.tar.gz
bcm5719-llvm-37f80456ce0d1abc10683d266695c587045439c4.zip
[clang-tidy] Organized clang-tidy unit tests. NFC.
* Moved unit tests for BracesAroundStatementsCheck to ReadabilityModuleTest.cpp. * Moved EXPECT_NO_CHANGES macro to ClangTidyTest.h to avoid defining it three times. llvm-svn: 230947
Diffstat (limited to 'clang-tools-extra/unittests')
-rw-r--r--clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h3
-rw-r--r--clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp3
-rw-r--r--clang-tools-extra/unittests/clang-tidy/MiscModuleTest.cpp335
-rw-r--r--clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp330
4 files changed, 333 insertions, 338 deletions
diff --git a/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h b/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
index 54a38c42c47..a90d557ecc4 100644
--- a/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
+++ b/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
@@ -78,6 +78,9 @@ std::string runCheckOnCode(StringRef Code,
return tooling::applyAllReplacements(Code, Fixes);
}
+#define EXPECT_NO_CHANGES(Check, Code) \
+ EXPECT_EQ(Code, runCheckOnCode<Check>(Code))
+
} // namespace test
} // namespace tidy
} // namespace clang
diff --git a/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp b/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp
index 0b19af2c6cb..4ddf8d9ce33 100644
--- a/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp
+++ b/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp
@@ -7,9 +7,6 @@ namespace clang {
namespace tidy {
namespace test {
-#define EXPECT_NO_CHANGES(Check, Code) \
- EXPECT_EQ(Code, runCheckOnCode<Check>(Code))
-
TEST(ExplicitConstructorCheckTest, SingleArgumentConstructorsOnly) {
EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(); };");
EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(int i, int j); };");
diff --git a/clang-tools-extra/unittests/clang-tidy/MiscModuleTest.cpp b/clang-tools-extra/unittests/clang-tidy/MiscModuleTest.cpp
index f8419ab4eb4..2e1fbbabb63 100644
--- a/clang-tools-extra/unittests/clang-tidy/MiscModuleTest.cpp
+++ b/clang-tools-extra/unittests/clang-tidy/MiscModuleTest.cpp
@@ -1,18 +1,11 @@
#include "ClangTidyTest.h"
#include "misc/ArgumentCommentCheck.h"
-#include "readability/BracesAroundStatementsCheck.h"
#include "gtest/gtest.h"
namespace clang {
namespace tidy {
-
-using readability::BracesAroundStatementsCheck;
-
namespace test {
-#define EXPECT_NO_CHANGES(Check, Code) \
- EXPECT_EQ(Code, runCheckOnCode<Check>(Code))
-
TEST(ArgumentCommentCheckTest, CorrectComments) {
EXPECT_NO_CHANGES(ArgumentCommentCheck,
"void f(int x, int y); void g() { f(/*x=*/0, /*y=*/0); }");
@@ -39,334 +32,6 @@ TEST(ArgumentCommentCheckTest, OtherEditDistanceBelowThreshold) {
"void f(int xxx, int yyy); void g() { f(/*xxy=*/0, 0); }");
}
-TEST(BracesAroundStatementsCheck, IfWithComments) {
- EXPECT_EQ("int main() {\n"
- " if (false /*dummy token*/) {\n"
- " // comment\n"
- " return -1; /**/\n"
- "}\n"
- " if (false) {\n"
- " return -1; // comment\n"
- "}\n"
- " if (false) {\n"
- " return -1; \n"
- "}/* multi-line \n comment */\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " if (false /*dummy token*/)\n"
- " // comment\n"
- " return -1; /**/\n"
- " if (false)\n"
- " return -1; // comment\n"
- " if (false)\n"
- " return -1; /* multi-line \n comment */\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " if (false /*dummy token*/) {\n"
- " // comment\n"
- " return -1 /**/ ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " if (false /*dummy token*/)\n"
- " // comment\n"
- " return -1 /**/ ;\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, If) {
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " if (false) {\n"
- " return -1;\n"
- " }\n"
- "}");
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " if (auto Cond = false) {\n"
- " return -1;\n"
- " }\n"
- "}");
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " if (false) {\n"
- " return -1;\n"
- " } else {\n"
- " return -2;\n"
- " }\n"
- "}");
- EXPECT_EQ("int main() {\n"
- " if (false) {\n"
- " return -1;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " if (false)\n"
- " return -1;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " if (auto Cond = false /**/ ) {\n"
- " return -1;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " if (auto Cond = false /**/ )\n"
- " return -1;\n"
- "}"));
- // FIXME: Consider adding braces before EMPTY_MACRO and after the statement.
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck,
- "#define EMPTY_MACRO\n"
- "int main() {\n"
- " if (auto Cond = false EMPTY_MACRO /**/ ) EMPTY_MACRO\n"
- " return -1;\n"
- "}");
- EXPECT_EQ("int main() {\n"
- " if (true) { return -1/**/ ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " if (true) return -1/**/ ;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " if (false) {\n"
- " return -1;\n"
- " } else {\n"
- " return -2;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " if (false)\n"
- " return -1;\n"
- " else\n"
- " return -2;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " if (false) {\n"
- " return -1;\n"
- " } else if (1 == 2) {\n"
- " return -2;\n"
- " } else {\n"
- " return -3;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " if (false)\n"
- " return -1;\n"
- " else if (1 == 2)\n"
- " return -2;\n"
- " else\n"
- " return -3;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " if (false) {\n"
- " return -1;\n"
- " } else if (1 == 2) {\n"
- " return -2;\n"
- " } else {\n"
- " return -3;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " if (false)\n"
- " return -1;\n"
- " else if (1 == 2) {\n"
- " return -2;\n"
- " } else\n"
- " return -3;\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, For) {
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " for (;;) {\n"
- " ;\n"
- " }\n"
- "}");
- EXPECT_EQ("int main() {\n"
- " for (;;) {\n"
- " ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " for (;;)\n"
- " ;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " for (;;) {\n"
- " /**/ ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " for (;;)\n"
- " /**/ ;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " for (;;) {\n"
- " return -1 /**/ ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " for (;;)\n"
- " return -1 /**/ ;\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, ForRange) {
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " int arr[4];\n"
- " for (int i : arr) {\n"
- " ;\n"
- " }\n"
- "}");
- EXPECT_EQ("int main() {\n"
- " int arr[4];\n"
- " for (int i : arr) {\n"
- " ;\n"
- "}\n"
- " for (int i : arr) {\n"
- " return -1 ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " int arr[4];\n"
- " for (int i : arr)\n"
- " ;\n"
- " for (int i : arr)\n"
- " return -1 ;\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, DoWhile) {
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " do {\n"
- " ;\n"
- " } while (false);\n"
- "}");
- EXPECT_EQ("int main() {\n"
- " do {\n"
- " ;\n"
- " } while (false);\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " do\n"
- " ;\n"
- " while (false);\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, While) {
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
- " while (false) {\n"
- " ;\n"
- " }\n"
- "}");
- EXPECT_EQ("int main() {\n"
- " while (false) {\n"
- " ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " while (false)\n"
- " ;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " while (auto Cond = false) {\n"
- " ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " while (auto Cond = false)\n"
- " ;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " while (false /*dummy token*/) {\n"
- " ;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " while (false /*dummy token*/)\n"
- " ;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " while (false) {\n"
- " break;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " while (false)\n"
- " break;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " while (false) {\n"
- " break /**/;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " while (false)\n"
- " break /**/;\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " while (false) {\n"
- " /**/;\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " while (false)\n"
- " /**/;\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, Nested) {
- EXPECT_EQ("int main() {\n"
- " do { if (true) {}} while (false);\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " do if (true) {}while (false);\n"
- "}"));
- EXPECT_EQ("int main() {\n"
- " do { if (true) {}} while (false);\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>(
- "int main() {\n"
- " do if (true) {}while (false);\n"
- "}"));
- EXPECT_EQ(
- "int main() {\n"
- " if (true) {\n"
- " // comment\n"
- " if (false) {\n"
- " // comment\n"
- " /**/ ; // comment\n"
- " }\n"
- "}\n"
- "}",
- runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
- " if (true)\n"
- " // comment\n"
- " if (false) {\n"
- " // comment\n"
- " /**/ ; // comment\n"
- " }\n"
- "}"));
-}
-
-TEST(BracesAroundStatementsCheck, Macros) {
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck,
- "#define IF(COND) if (COND) return -1;\n"
- "int main() {\n"
- " IF(false)\n"
- "}");
- EXPECT_NO_CHANGES(BracesAroundStatementsCheck,
- "#define FOR(COND) for (COND) return -1;\n"
- "int main() {\n"
- " FOR(;;)\n"
- "}");
-}
-
} // namespace test
} // namespace tidy
} // namespace clang
diff --git a/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp b/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
index 2d51949d5a1..8c7007ce291 100644
--- a/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
+++ b/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
@@ -1,4 +1,5 @@
#include "ClangTidyTest.h"
+#include "readability/BracesAroundStatementsCheck.h"
#include "readability/NamespaceCommentCheck.h"
#include "gtest/gtest.h"
@@ -6,6 +7,7 @@ namespace clang {
namespace tidy {
namespace test {
+using readability::BracesAroundStatementsCheck;
using readability::NamespaceCommentCheck;
TEST(NamespaceCommentCheckTest, Basic) {
@@ -94,6 +96,334 @@ TEST(NamespaceCommentCheckTest, FixWrongComments) {
"} // namespace asdf"));
}
+TEST(BracesAroundStatementsCheck, IfWithComments) {
+ EXPECT_EQ("int main() {\n"
+ " if (false /*dummy token*/) {\n"
+ " // comment\n"
+ " return -1; /**/\n"
+ "}\n"
+ " if (false) {\n"
+ " return -1; // comment\n"
+ "}\n"
+ " if (false) {\n"
+ " return -1; \n"
+ "}/* multi-line \n comment */\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " if (false /*dummy token*/)\n"
+ " // comment\n"
+ " return -1; /**/\n"
+ " if (false)\n"
+ " return -1; // comment\n"
+ " if (false)\n"
+ " return -1; /* multi-line \n comment */\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " if (false /*dummy token*/) {\n"
+ " // comment\n"
+ " return -1 /**/ ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " if (false /*dummy token*/)\n"
+ " // comment\n"
+ " return -1 /**/ ;\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, If) {
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " if (false) {\n"
+ " return -1;\n"
+ " }\n"
+ "}");
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " if (auto Cond = false) {\n"
+ " return -1;\n"
+ " }\n"
+ "}");
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " if (false) {\n"
+ " return -1;\n"
+ " } else {\n"
+ " return -2;\n"
+ " }\n"
+ "}");
+ EXPECT_EQ("int main() {\n"
+ " if (false) {\n"
+ " return -1;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " if (false)\n"
+ " return -1;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " if (auto Cond = false /**/ ) {\n"
+ " return -1;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " if (auto Cond = false /**/ )\n"
+ " return -1;\n"
+ "}"));
+ // FIXME: Consider adding braces before EMPTY_MACRO and after the statement.
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck,
+ "#define EMPTY_MACRO\n"
+ "int main() {\n"
+ " if (auto Cond = false EMPTY_MACRO /**/ ) EMPTY_MACRO\n"
+ " return -1;\n"
+ "}");
+ EXPECT_EQ("int main() {\n"
+ " if (true) { return -1/**/ ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " if (true) return -1/**/ ;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " if (false) {\n"
+ " return -1;\n"
+ " } else {\n"
+ " return -2;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " if (false)\n"
+ " return -1;\n"
+ " else\n"
+ " return -2;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " if (false) {\n"
+ " return -1;\n"
+ " } else if (1 == 2) {\n"
+ " return -2;\n"
+ " } else {\n"
+ " return -3;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " if (false)\n"
+ " return -1;\n"
+ " else if (1 == 2)\n"
+ " return -2;\n"
+ " else\n"
+ " return -3;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " if (false) {\n"
+ " return -1;\n"
+ " } else if (1 == 2) {\n"
+ " return -2;\n"
+ " } else {\n"
+ " return -3;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " if (false)\n"
+ " return -1;\n"
+ " else if (1 == 2) {\n"
+ " return -2;\n"
+ " } else\n"
+ " return -3;\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, For) {
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " for (;;) {\n"
+ " ;\n"
+ " }\n"
+ "}");
+ EXPECT_EQ("int main() {\n"
+ " for (;;) {\n"
+ " ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " for (;;)\n"
+ " ;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " for (;;) {\n"
+ " /**/ ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " for (;;)\n"
+ " /**/ ;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " for (;;) {\n"
+ " return -1 /**/ ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " for (;;)\n"
+ " return -1 /**/ ;\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, ForRange) {
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " int arr[4];\n"
+ " for (int i : arr) {\n"
+ " ;\n"
+ " }\n"
+ "}");
+ EXPECT_EQ("int main() {\n"
+ " int arr[4];\n"
+ " for (int i : arr) {\n"
+ " ;\n"
+ "}\n"
+ " for (int i : arr) {\n"
+ " return -1 ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " int arr[4];\n"
+ " for (int i : arr)\n"
+ " ;\n"
+ " for (int i : arr)\n"
+ " return -1 ;\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, DoWhile) {
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " do {\n"
+ " ;\n"
+ " } while (false);\n"
+ "}");
+ EXPECT_EQ("int main() {\n"
+ " do {\n"
+ " ;\n"
+ " } while (false);\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " do\n"
+ " ;\n"
+ " while (false);\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, While) {
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck, "int main() {\n"
+ " while (false) {\n"
+ " ;\n"
+ " }\n"
+ "}");
+ EXPECT_EQ("int main() {\n"
+ " while (false) {\n"
+ " ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " while (false)\n"
+ " ;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " while (auto Cond = false) {\n"
+ " ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " while (auto Cond = false)\n"
+ " ;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " while (false /*dummy token*/) {\n"
+ " ;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " while (false /*dummy token*/)\n"
+ " ;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " while (false) {\n"
+ " break;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " while (false)\n"
+ " break;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " while (false) {\n"
+ " break /**/;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " while (false)\n"
+ " break /**/;\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " while (false) {\n"
+ " /**/;\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " while (false)\n"
+ " /**/;\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, Nested) {
+ EXPECT_EQ("int main() {\n"
+ " do { if (true) {}} while (false);\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " do if (true) {}while (false);\n"
+ "}"));
+ EXPECT_EQ("int main() {\n"
+ " do { if (true) {}} while (false);\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>(
+ "int main() {\n"
+ " do if (true) {}while (false);\n"
+ "}"));
+ EXPECT_EQ(
+ "int main() {\n"
+ " if (true) {\n"
+ " // comment\n"
+ " if (false) {\n"
+ " // comment\n"
+ " /**/ ; // comment\n"
+ " }\n"
+ "}\n"
+ "}",
+ runCheckOnCode<BracesAroundStatementsCheck>("int main() {\n"
+ " if (true)\n"
+ " // comment\n"
+ " if (false) {\n"
+ " // comment\n"
+ " /**/ ; // comment\n"
+ " }\n"
+ "}"));
+}
+
+TEST(BracesAroundStatementsCheck, Macros) {
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck,
+ "#define IF(COND) if (COND) return -1;\n"
+ "int main() {\n"
+ " IF(false)\n"
+ "}");
+ EXPECT_NO_CHANGES(BracesAroundStatementsCheck,
+ "#define FOR(COND) for (COND) return -1;\n"
+ "int main() {\n"
+ " FOR(;;)\n"
+ "}");
+}
+
} // namespace test
} // namespace tidy
} // namespace clang
OpenPOWER on IntegriCloud