[clang-format] moved unit tests related to replacements cleaner from FormatTest.cpp to CleanUpTest.cpp.

llvm-svn: 270971
This commit is contained in:
Eric Liu 2016-05-27 08:20:02 +00:00
parent 32578b7dcf
commit 1ef68456cf
2 changed files with 41 additions and 29 deletions

View File

@ -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

View File

@ -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"