Skip to content

Commit 1ef6845

Browse files
author
Eric Liu
committed
[clang-format] moved unit tests related to replacements cleaner from FormatTest.cpp to CleanUpTest.cpp.
llvm-svn: 270971
1 parent 32578b7 commit 1ef6845

File tree

2 files changed

+41
-29
lines changed

2 files changed

+41
-29
lines changed

clang/unittests/Format/CleanupTest.cpp

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include "clang/Format/Format.h"
1111

12+
#include "../Tooling/RewriterTestContext.h"
1213
#include "clang/Tooling/Core/Replacement.h"
1314

1415
#include "gtest/gtest.h"
@@ -240,6 +241,46 @@ TEST_F(CleanupTest, CtorInitializerInNamespace) {
240241
EXPECT_EQ(Expected, Result);
241242
}
242243

244+
class CleanUpReplacementsTest : public ::testing::Test {
245+
protected:
246+
tooling::Replacement createReplacement(SourceLocation Start, unsigned Length,
247+
llvm::StringRef ReplacementText) {
248+
return tooling::Replacement(Context.Sources, Start, Length,
249+
ReplacementText);
250+
}
251+
252+
RewriterTestContext Context;
253+
};
254+
255+
TEST_F(CleanUpReplacementsTest, FixOnlyAffectedCodeAfterReplacements) {
256+
std::string Code = "namespace A {\n"
257+
"namespace B {\n"
258+
" int x;\n"
259+
"} // namespace B\n"
260+
"} // namespace A\n"
261+
"\n"
262+
"namespace C {\n"
263+
"namespace D { int i; }\n"
264+
"inline namespace E { namespace { int y; } }\n"
265+
"int x= 0;"
266+
"}";
267+
std::string Expected = "\n\nnamespace C {\n"
268+
"namespace D { int i; }\n\n"
269+
"int x= 0;"
270+
"}";
271+
FileID ID = Context.createInMemoryFile("fix.cpp", Code);
272+
tooling::Replacements Replaces;
273+
Replaces.insert(tooling::Replacement(Context.Sources,
274+
Context.getLocation(ID, 3, 3), 6, ""));
275+
Replaces.insert(tooling::Replacement(Context.Sources,
276+
Context.getLocation(ID, 9, 34), 6, ""));
277+
278+
format::FormatStyle Style = format::getLLVMStyle();
279+
auto FinalReplaces = formatReplacements(
280+
Code, cleanupAroundReplacements(Code, Replaces, Style), Style);
281+
EXPECT_EQ(Expected, applyAllReplacements(Code, FinalReplaces));
282+
}
283+
243284
} // end namespace
244285
} // end namespace format
245286
} // end namespace clang

clang/unittests/Format/FormatTest.cpp

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11537,35 +11537,6 @@ TEST_F(ReplacementTest, FormatCodeAfterReplacements) {
1153711537
Code, formatReplacements(Code, Replaces, Style)));
1153811538
}
1153911539

11540-
TEST_F(ReplacementTest, FixOnlyAffectedCodeAfterReplacements) {
11541-
std::string Code = "namespace A {\n"
11542-
"namespace B {\n"
11543-
" int x;\n"
11544-
"} // namespace B\n"
11545-
"} // namespace A\n"
11546-
"\n"
11547-
"namespace C {\n"
11548-
"namespace D { int i; }\n"
11549-
"inline namespace E { namespace { int y; } }\n"
11550-
"int x= 0;"
11551-
"}";
11552-
std::string Expected = "\n\nnamespace C {\n"
11553-
"namespace D { int i; }\n\n"
11554-
"int x= 0;"
11555-
"}";
11556-
FileID ID = Context.createInMemoryFile("fix.cpp", Code);
11557-
tooling::Replacements Replaces;
11558-
Replaces.insert(tooling::Replacement(
11559-
Context.Sources, Context.getLocation(ID, 3, 3), 6, ""));
11560-
Replaces.insert(tooling::Replacement(
11561-
Context.Sources, Context.getLocation(ID, 9, 34), 6, ""));
11562-
11563-
format::FormatStyle Style = format::getLLVMStyle();
11564-
auto FinalReplaces = formatReplacements(
11565-
Code, cleanupAroundReplacements(Code, Replaces, Style), Style);
11566-
EXPECT_EQ(Expected, applyAllReplacements(Code, FinalReplaces));
11567-
}
11568-
1156911540
TEST_F(ReplacementTest, SortIncludesAfterReplacement) {
1157011541
std::string Code = "#include \"a.h\"\n"
1157111542
"#include \"c.h\"\n"

0 commit comments

Comments
 (0)