1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#include "ClangTidyTest.h"
#include "misc/ArgumentCommentCheck.h"
#include "gtest/gtest.h"
namespace clang {
namespace tidy {
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); }");
EXPECT_NO_CHANGES(ArgumentCommentCheck,
"struct C { C(int x, int y); }; C c(/*x=*/0, /*y=*/0);");
}
TEST(ArgumentCommentCheckTest, ThisEditDistanceAboveThreshold) {
EXPECT_NO_CHANGES(ArgumentCommentCheck,
"void f(int xxx); void g() { f(/*xyz=*/0); }");
}
TEST(ArgumentCommentCheckTest, OtherEditDistanceAboveThreshold) {
EXPECT_EQ("void f(int xxx, int yyy); void g() { f(/*xxx=*/0, 0); }",
runCheckOnCode<ArgumentCommentCheck>(
"void f(int xxx, int yyy); void g() { f(/*Xxx=*/0, 0); }"));
EXPECT_EQ("struct C { C(int xxx, int yyy); }; C c(/*xxx=*/0, 0);",
runCheckOnCode<ArgumentCommentCheck>(
"struct C { C(int xxx, int yyy); }; C c(/*Xxx=*/0, 0);"));
}
TEST(ArgumentCommentCheckTest, OtherEditDistanceBelowThreshold) {
EXPECT_NO_CHANGES(ArgumentCommentCheck,
"void f(int xxx, int yyy); void g() { f(/*xxy=*/0, 0); }");
}
} // namespace test
} // namespace tidy
} // namespace clang
|