diff options
author | Edwin Vane <edwin.vane@intel.com> | 2013-08-13 17:38:19 +0000 |
---|---|---|
committer | Edwin Vane <edwin.vane@intel.com> | 2013-08-13 17:38:19 +0000 |
commit | 349e1c18eb37d67acfdac93344426c04f2b03341 (patch) | |
tree | 570e49dca51a5e42189bb5e147402febf065edda /clang/unittests/Tooling/RefactoringTest.cpp | |
parent | 72f7821cc6155c285d37e167a6462d642ff224dc (diff) | |
download | bcm5719-llvm-349e1c18eb37d67acfdac93344426c04f2b03341.tar.gz bcm5719-llvm-349e1c18eb37d67acfdac93344426c04f2b03341.zip |
Adding a vector version of tooling::applyAllReplacements
One day soon, tooling::Replacements will be changed from being implemented as
an std::set to being implemented as an std::vector. Until then, some new code
using vectors of Replacements would enjoy having a version of
applyAllReplacements that takes a vector.
Differential Revision: http://llvm-reviews.chandlerc.com/D1380
llvm-svn: 188295
Diffstat (limited to 'clang/unittests/Tooling/RefactoringTest.cpp')
-rw-r--r-- | clang/unittests/Tooling/RefactoringTest.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/unittests/Tooling/RefactoringTest.cpp b/clang/unittests/Tooling/RefactoringTest.cpp index d9f023d9653..81f9f040aeb 100644 --- a/clang/unittests/Tooling/RefactoringTest.cpp +++ b/clang/unittests/Tooling/RefactoringTest.cpp @@ -120,6 +120,21 @@ TEST_F(ReplacementTest, CanApplyReplacements) { EXPECT_EQ("line1\nreplaced\nother\nline4", Context.getRewrittenText(ID)); } +// FIXME: Remove this test case when Replacements is implemented as std::vector +// instead of std::set. The other ReplacementTest tests will need to be updated +// at that point as well. +TEST_F(ReplacementTest, VectorCanApplyReplacements) { + FileID ID = Context.createInMemoryFile("input.cpp", + "line1\nline2\nline3\nline4"); + std::vector<Replacement> Replaces; + Replaces.push_back(Replacement(Context.Sources, Context.getLocation(ID, 2, 1), + 5, "replaced")); + Replaces.push_back( + Replacement(Context.Sources, Context.getLocation(ID, 3, 1), 5, "other")); + EXPECT_TRUE(applyAllReplacements(Replaces, Context.Rewrite)); + EXPECT_EQ("line1\nreplaced\nother\nline4", Context.getRewrittenText(ID)); +} + TEST_F(ReplacementTest, SkipsDuplicateReplacements) { FileID ID = Context.createInMemoryFile("input.cpp", "line1\nline2\nline3\nline4"); |