forked from OSchip/llvm-project
[clang-format] moved unit tests related to replacements cleaner from FormatTest.cpp to CleanUpTest.cpp.
llvm-svn: 270971
This commit is contained in:
parent
32578b7dcf
commit
1ef68456cf
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include "clang/Format/Format.h"
|
||||
|
||||
#include "../Tooling/RewriterTestContext.h"
|
||||
#include "clang/Tooling/Core/Replacement.h"
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
@ -240,6 +241,46 @@ TEST_F(CleanupTest, CtorInitializerInNamespace) {
|
|||
EXPECT_EQ(Expected, Result);
|
||||
}
|
||||
|
||||
class CleanUpReplacementsTest : public ::testing::Test {
|
||||
protected:
|
||||
tooling::Replacement createReplacement(SourceLocation Start, unsigned Length,
|
||||
llvm::StringRef ReplacementText) {
|
||||
return tooling::Replacement(Context.Sources, Start, Length,
|
||||
ReplacementText);
|
||||
}
|
||||
|
||||
RewriterTestContext Context;
|
||||
};
|
||||
|
||||
TEST_F(CleanUpReplacementsTest, FixOnlyAffectedCodeAfterReplacements) {
|
||||
std::string Code = "namespace A {\n"
|
||||
"namespace B {\n"
|
||||
" int x;\n"
|
||||
"} // namespace B\n"
|
||||
"} // namespace A\n"
|
||||
"\n"
|
||||
"namespace C {\n"
|
||||
"namespace D { int i; }\n"
|
||||
"inline namespace E { namespace { int y; } }\n"
|
||||
"int x= 0;"
|
||||
"}";
|
||||
std::string Expected = "\n\nnamespace C {\n"
|
||||
"namespace D { int i; }\n\n"
|
||||
"int x= 0;"
|
||||
"}";
|
||||
FileID ID = Context.createInMemoryFile("fix.cpp", Code);
|
||||
tooling::Replacements Replaces;
|
||||
Replaces.insert(tooling::Replacement(Context.Sources,
|
||||
Context.getLocation(ID, 3, 3), 6, ""));
|
||||
Replaces.insert(tooling::Replacement(Context.Sources,
|
||||
Context.getLocation(ID, 9, 34), 6, ""));
|
||||
|
||||
format::FormatStyle Style = format::getLLVMStyle();
|
||||
auto FinalReplaces = formatReplacements(
|
||||
Code, cleanupAroundReplacements(Code, Replaces, Style), Style);
|
||||
EXPECT_EQ(Expected, applyAllReplacements(Code, FinalReplaces));
|
||||
}
|
||||
|
||||
} // end namespace
|
||||
} // end namespace format
|
||||
} // end namespace clang
|
||||
|
|
|
@ -11537,35 +11537,6 @@ TEST_F(ReplacementTest, FormatCodeAfterReplacements) {
|
|||
Code, formatReplacements(Code, Replaces, Style)));
|
||||
}
|
||||
|
||||
TEST_F(ReplacementTest, FixOnlyAffectedCodeAfterReplacements) {
|
||||
std::string Code = "namespace A {\n"
|
||||
"namespace B {\n"
|
||||
" int x;\n"
|
||||
"} // namespace B\n"
|
||||
"} // namespace A\n"
|
||||
"\n"
|
||||
"namespace C {\n"
|
||||
"namespace D { int i; }\n"
|
||||
"inline namespace E { namespace { int y; } }\n"
|
||||
"int x= 0;"
|
||||
"}";
|
||||
std::string Expected = "\n\nnamespace C {\n"
|
||||
"namespace D { int i; }\n\n"
|
||||
"int x= 0;"
|
||||
"}";
|
||||
FileID ID = Context.createInMemoryFile("fix.cpp", Code);
|
||||
tooling::Replacements Replaces;
|
||||
Replaces.insert(tooling::Replacement(
|
||||
Context.Sources, Context.getLocation(ID, 3, 3), 6, ""));
|
||||
Replaces.insert(tooling::Replacement(
|
||||
Context.Sources, Context.getLocation(ID, 9, 34), 6, ""));
|
||||
|
||||
format::FormatStyle Style = format::getLLVMStyle();
|
||||
auto FinalReplaces = formatReplacements(
|
||||
Code, cleanupAroundReplacements(Code, Replaces, Style), Style);
|
||||
EXPECT_EQ(Expected, applyAllReplacements(Code, FinalReplaces));
|
||||
}
|
||||
|
||||
TEST_F(ReplacementTest, SortIncludesAfterReplacement) {
|
||||
std::string Code = "#include \"a.h\"\n"
|
||||
"#include \"c.h\"\n"
|
||||
|
|
Loading…
Reference in New Issue