From 2192a8e5193716613bb9d64090a8843f7e5ca7fb Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Sun, 26 Oct 2014 01:41:14 +0000 Subject: [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 --- .../unittests/clang-tidy/ReadabilityModuleTest.cpp | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp (limited to 'clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp') 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("namespace i {\n}")); + EXPECT_EQ("namespace {\n} // namespace", + runCheckOnCode("namespace {\n}")); + EXPECT_EQ( + "namespace i { namespace j {\n} // namespace j\n } // namespace i", + runCheckOnCode("namespace i { namespace j {\n} }")); +} + +TEST(NamespaceCommentCheckTest, SingleLineNamespaces) { + EXPECT_EQ( + "namespace i { namespace j { } }", + runCheckOnCode("namespace i { namespace j { } }")); +} + +TEST(NamespaceCommentCheckTest, CheckExistingComments) { + EXPECT_EQ("namespace i { namespace j {\n" + "} /* namespace j */ } // namespace i\n" + " /* random comment */", + runCheckOnCode( + "namespace i { namespace j {\n" + "} /* namespace j */ } /* random comment */")); + EXPECT_EQ("namespace {\n" + "} // namespace", + runCheckOnCode("namespace {\n" + "} // namespace")); + EXPECT_EQ("namespace {\n" + "} //namespace", + runCheckOnCode("namespace {\n" + "} //namespace")); + EXPECT_EQ("namespace {\n" + "} // anonymous namespace", + runCheckOnCode("namespace {\n" + "} // anonymous namespace")); + EXPECT_EQ("namespace {\n" + "} // Anonymous namespace.", + runCheckOnCode("namespace {\n" + "} // Anonymous namespace.")); + EXPECT_EQ("namespace q {\n" + "} // namespace q", + runCheckOnCode("namespace q {\n" + "} // anonymous namespace q")); + EXPECT_EQ( + "namespace My_NameSpace123 {\n" + "} // namespace My_NameSpace123", + runCheckOnCode("namespace My_NameSpace123 {\n" + "} // namespace My_NameSpace123")); + EXPECT_EQ( + "namespace My_NameSpace123 {\n" + "} //namespace My_NameSpace123", + runCheckOnCode("namespace My_NameSpace123 {\n" + "} //namespace My_NameSpace123")); + EXPECT_EQ("namespace My_NameSpace123 {\n" + "} // end namespace My_NameSpace123", + runCheckOnCode( + "namespace My_NameSpace123 {\n" + "} // end namespace My_NameSpace123")); + // Understand comments only on the same line. + EXPECT_EQ("namespace {\n" + "} // namespace\n" + "// namespace", + runCheckOnCode("namespace {\n" + "}\n" + "// namespace")); + // Leave unknown comments. + EXPECT_EQ("namespace {\n" + "} // namespace // random text", + runCheckOnCode("namespace {\n" + "} // random text")); +} + +TEST(NamespaceCommentCheckTest, FixWrongComments) { + EXPECT_EQ("namespace i { namespace jJ0_ {\n" + "} // namespace jJ0_\n" + " } // namespace i\n" + " /* random comment */", + runCheckOnCode( + "namespace i { namespace jJ0_ {\n" + "} /* namespace qqq */ } /* random comment */")); + EXPECT_EQ("namespace {\n" + "} // namespace", + runCheckOnCode("namespace {\n" + "} // namespace asdf")); +} + +} // namespace test +} // namespace tidy +} // namespace clang -- cgit v1.2.3