diff options
author | Alexander Kornienko <alexfh@google.com> | 2014-10-26 01:41:14 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2014-10-26 01:41:14 +0000 |
commit | 2192a8e5193716613bb9d64090a8843f7e5ca7fb (patch) | |
tree | 9d697a594076c9629ae0f9b89a4703317aab77b0 /clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp | |
parent | f0ba6ce309d9ab412982e71cda9b3981e25625fd (diff) | |
download | bcm5719-llvm-2192a8e5193716613bb9d64090a8843f7e5ca7fb.tar.gz bcm5719-llvm-2192a8e5193716613bb9d64090a8843f7e5ca7fb.zip |
[clang-tidy] Bring order to check registration.
Summary:
Register readability checks in a separate module. Renamed the checks
and test file names accordingly.
Reviewers: djasper, klimek
Reviewed By: klimek
Subscribers: curdeius, cfe-commits
Differential Revision: http://reviews.llvm.org/D5936
llvm-svn: 220631
Diffstat (limited to 'clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp')
-rw-r--r-- | clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp b/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp new file mode 100644 index 00000000000..2d51949d5a1 --- /dev/null +++ b/clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp @@ -0,0 +1,99 @@ +#include "ClangTidyTest.h" +#include "readability/NamespaceCommentCheck.h" +#include "gtest/gtest.h" + +namespace clang { +namespace tidy { +namespace test { + +using readability::NamespaceCommentCheck; + +TEST(NamespaceCommentCheckTest, Basic) { + EXPECT_EQ("namespace i {\n} // namespace i", + runCheckOnCode<NamespaceCommentCheck>("namespace i {\n}")); + EXPECT_EQ("namespace {\n} // namespace", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n}")); + EXPECT_EQ( + "namespace i { namespace j {\n} // namespace j\n } // namespace i", + runCheckOnCode<NamespaceCommentCheck>("namespace i { namespace j {\n} }")); +} + +TEST(NamespaceCommentCheckTest, SingleLineNamespaces) { + EXPECT_EQ( + "namespace i { namespace j { } }", + runCheckOnCode<NamespaceCommentCheck>("namespace i { namespace j { } }")); +} + +TEST(NamespaceCommentCheckTest, CheckExistingComments) { + EXPECT_EQ("namespace i { namespace j {\n" + "} /* namespace j */ } // namespace i\n" + " /* random comment */", + runCheckOnCode<NamespaceCommentCheck>( + "namespace i { namespace j {\n" + "} /* namespace j */ } /* random comment */")); + EXPECT_EQ("namespace {\n" + "} // namespace", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "} // namespace")); + EXPECT_EQ("namespace {\n" + "} //namespace", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "} //namespace")); + EXPECT_EQ("namespace {\n" + "} // anonymous namespace", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "} // anonymous namespace")); + EXPECT_EQ("namespace {\n" + "} // Anonymous namespace.", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "} // Anonymous namespace.")); + EXPECT_EQ("namespace q {\n" + "} // namespace q", + runCheckOnCode<NamespaceCommentCheck>("namespace q {\n" + "} // anonymous namespace q")); + EXPECT_EQ( + "namespace My_NameSpace123 {\n" + "} // namespace My_NameSpace123", + runCheckOnCode<NamespaceCommentCheck>("namespace My_NameSpace123 {\n" + "} // namespace My_NameSpace123")); + EXPECT_EQ( + "namespace My_NameSpace123 {\n" + "} //namespace My_NameSpace123", + runCheckOnCode<NamespaceCommentCheck>("namespace My_NameSpace123 {\n" + "} //namespace My_NameSpace123")); + EXPECT_EQ("namespace My_NameSpace123 {\n" + "} // end namespace My_NameSpace123", + runCheckOnCode<NamespaceCommentCheck>( + "namespace My_NameSpace123 {\n" + "} // end namespace My_NameSpace123")); + // Understand comments only on the same line. + EXPECT_EQ("namespace {\n" + "} // namespace\n" + "// namespace", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "}\n" + "// namespace")); + // Leave unknown comments. + EXPECT_EQ("namespace {\n" + "} // namespace // random text", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "} // random text")); +} + +TEST(NamespaceCommentCheckTest, FixWrongComments) { + EXPECT_EQ("namespace i { namespace jJ0_ {\n" + "} // namespace jJ0_\n" + " } // namespace i\n" + " /* random comment */", + runCheckOnCode<NamespaceCommentCheck>( + "namespace i { namespace jJ0_ {\n" + "} /* namespace qqq */ } /* random comment */")); + EXPECT_EQ("namespace {\n" + "} // namespace", + runCheckOnCode<NamespaceCommentCheck>("namespace {\n" + "} // namespace asdf")); +} + +} // namespace test +} // namespace tidy +} // namespace clang |