aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Tooling/RefactoringTest.cpp
diff options
context:
space:
mode:
authorEric Liu <ioeric@google.com>2017-03-08 15:53:10 +0000
committerEric Liu <ioeric@google.com>2017-03-08 15:53:10 +0000
commit373c182a07144eb1153f02c7378398f32ae6a30a (patch)
treeed3a50ea6554f8562cf2a3beec33040430a8dd7d /clang/unittests/Tooling/RefactoringTest.cpp
parent1b7197e690a7055a0992bae76e996f0b04d52a61 (diff)
downloadllvm-373c182a07144eb1153f02c7378398f32ae6a30a.zip
llvm-373c182a07144eb1153f02c7378398f32ae6a30a.tar.gz
llvm-373c182a07144eb1153f02c7378398f32ae6a30a.tar.bz2
Add missing implementation for AtomicChange::replace(...)
Summary: Just realized the implementation is missing... Reviewers: klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D30735 llvm-svn: 297289
Diffstat (limited to 'clang/unittests/Tooling/RefactoringTest.cpp')
-rw-r--r--clang/unittests/Tooling/RefactoringTest.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/clang/unittests/Tooling/RefactoringTest.cpp b/clang/unittests/Tooling/RefactoringTest.cpp
index 41be7a8..c5633d3 100644
--- a/clang/unittests/Tooling/RefactoringTest.cpp
+++ b/clang/unittests/Tooling/RefactoringTest.cpp
@@ -1173,8 +1173,10 @@ TEST_F(AtomicChangeTest, YAMLToAtomicChange) {
EXPECT_EQ(ExpectedChange.getKey(), ActualChange.getKey());
EXPECT_EQ(ExpectedChange.getFilePath(), ActualChange.getFilePath());
EXPECT_EQ(ExpectedChange.getError(), ActualChange.getError());
- EXPECT_EQ(ExpectedChange.getInsertedHeaders(), ActualChange.getInsertedHeaders());
- EXPECT_EQ(ExpectedChange.getRemovedHeaders(), ActualChange.getRemovedHeaders());
+ EXPECT_EQ(ExpectedChange.getInsertedHeaders(),
+ ActualChange.getInsertedHeaders());
+ EXPECT_EQ(ExpectedChange.getRemovedHeaders(),
+ ActualChange.getRemovedHeaders());
EXPECT_EQ(ExpectedChange.getReplacements().size(),
ActualChange.getReplacements().size());
EXPECT_EQ(2u, ActualChange.getReplacements().size());
@@ -1191,6 +1193,22 @@ TEST_F(AtomicChangeTest, CheckKeyAndKeyFile) {
EXPECT_EQ("input.cpp", Change.getFilePath());
}
+TEST_F(AtomicChangeTest, Replace) {
+ setUp();
+ AtomicChange Change(Context.Sources, DefaultLoc);
+ llvm::Error Err = Change.replace(Context.Sources, DefaultLoc, 2, "aa");
+ ASSERT_TRUE(!Err);
+ EXPECT_EQ(Change.getReplacements().size(), 1u);
+ EXPECT_EQ(*Change.getReplacements().begin(),
+ Replacement(Context.Sources, DefaultLoc, 2, "aa"));
+
+ // Add a new replacement that conflicts with the existing one.
+ Err = Change.replace(Context.Sources, DefaultLoc, 3, "ab");
+ EXPECT_TRUE((bool)Err);
+ llvm::consumeError(std::move(Err));
+ EXPECT_EQ(Change.getReplacements().size(), 1u);
+}
+
TEST_F(AtomicChangeTest, InsertBefore) {
setUp();
AtomicChange Change(Context.Sources, DefaultLoc);