summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clang-modernize/FileOverridesTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/unittests/clang-modernize/FileOverridesTest.cpp')
-rw-r--r--clang-tools-extra/unittests/clang-modernize/FileOverridesTest.cpp187
1 files changed, 0 insertions, 187 deletions
diff --git a/clang-tools-extra/unittests/clang-modernize/FileOverridesTest.cpp b/clang-tools-extra/unittests/clang-modernize/FileOverridesTest.cpp
deleted file mode 100644
index 94776bc2c10..00000000000
--- a/clang-tools-extra/unittests/clang-modernize/FileOverridesTest.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-//===- clang-modernize/FileOverridesTest.cpp - File overrides unit tests --===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "Core/FileOverrides.h"
-#include "Core/Refactoring.h"
-#include "gtest/gtest.h"
-#include "common/VirtualFileHelper.h"
-#include "clang/Rewrite/Core/Rewriter.h"
-
-using namespace clang;
-using namespace clang::tooling;
-
-static Replacement makeReplacement(unsigned Offset, unsigned Length,
- unsigned ReplacementLength,
- llvm::StringRef FilePath) {
- return Replacement(FilePath, Offset, Length,
- std::string(ReplacementLength, '~'));
-}
-
-// generate a set of replacements containing one element
-static ReplacementsVec makeReplacements(unsigned Offset, unsigned Length,
- unsigned ReplacementLength,
- llvm::StringRef FilePath = "~") {
- ReplacementsVec Replaces;
- Replaces.push_back(
- makeReplacement(Offset, Length, ReplacementLength, FilePath));
- return Replaces;
-}
-
-static bool equalRanges(Range A, Range B) {
- return A.getOffset() == B.getOffset() && A.getLength() == B.getLength();
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesShrink) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(0, 0, 4));
- EXPECT_NE(Changes.begin(), Changes.end());
- EXPECT_TRUE(equalRanges(Range(0, 4), *Changes.begin()));
- // create a replacement that cuts the end of the last insertion
- Changes.adjustChangedRanges(makeReplacements(2, 4, 0));
- Range ExpectedChanges[] = { Range(0, 2) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesExtend) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(1, 0, 4));
- // cut the old one by a bigger one
- Changes.adjustChangedRanges(makeReplacements(3, 4, 6));
- Range ExpectedChanges[] = { Range(1, 8) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesNoOverlap) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(0, 0, 4));
- Changes.adjustChangedRanges(makeReplacements(6, 0, 4));
- Range ExpectedChanges[] = { Range(0, 4), Range(6, 4) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesNullRange) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(0, 4, 0));
- Range ExpectedChanges[] = { Range(0, 0) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesExtendExisting) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(0, 0, 3));
- Changes.adjustChangedRanges(makeReplacements(2, 5, 8));
- Range ExpectedChanges[] = { Range(0, 10) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesSplit) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(0, 0, 3));
- Changes.adjustChangedRanges(makeReplacements(1, 1, 0));
- Range ExpectedChanges[] = { Range(0, 2) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesRangeContained) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(3, 0, 2));
- Changes.adjustChangedRanges(makeReplacements(1, 4, 5));
- Range ExpectedChanges[] = { Range(1, 5) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(ChangedRangesTest, adjustChangedRangesRangeResized) {
- ChangedRanges Changes;
- Changes.adjustChangedRanges(makeReplacements(2, 0, 5));
- // first make the range bigger
- Changes.adjustChangedRanges(makeReplacements(4, 1, 3));
- Range ExpectedChanges[] = { Range(2, 7) };
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
- // then smaller
- Changes.adjustChangedRanges(makeReplacements(3, 3, 1));
- ExpectedChanges[0] = Range(2, 5);
- EXPECT_TRUE(
- std::equal(Changes.begin(), Changes.end(), ExpectedChanges, equalRanges));
-}
-
-TEST(FileOverridesTest, applyOverrides) {
-
- // Set up initial state
- VirtualFileHelper VFHelper;
-
- SmallString<128> fileAPath("fileA.cpp");
- ASSERT_FALSE(llvm::sys::fs::make_absolute(fileAPath));
- SmallString<128> fileBPath("fileB.cpp");
- ASSERT_FALSE(llvm::sys::fs::make_absolute(fileBPath));
- VFHelper.mapFile(fileAPath, "Content A");
- VFHelper.mapFile(fileBPath, "Content B");
- SourceManager &SM = VFHelper.getNewSourceManager();
-
- // Fill a Rewriter with changes
- Rewriter Rewrites(SM, LangOptions());
- ReplacementsVec R(1, Replacement(fileAPath, 0, 7, "Stuff"));
- ASSERT_TRUE(applyAllReplacements(R, Rewrites));
-
- FileOverrides Overrides;
- Overrides.updateState(Rewrites);
-
- const FileOverrides::FileStateMap &State = Overrides.getState();
-
- // Ensure state updated
- ASSERT_TRUE(State.end() == State.find(fileBPath));
- ASSERT_TRUE(State.begin() == State.find(fileAPath));
- ASSERT_EQ("Stuff A", State.begin()->getValue());
-
- Overrides.applyOverrides(SM);
-
- const FileEntry *EntryA = SM.getFileManager().getFile(fileAPath);
- FileID IdA = SM.translateFile(EntryA);
- ASSERT_FALSE(IdA.isInvalid());
-
- // Ensure the contents of the buffer matches what we'd expect.
- const llvm::MemoryBuffer *BufferA = SM.getBuffer(IdA);
- ASSERT_FALSE(0 == BufferA);
- ASSERT_EQ("Stuff A", BufferA->getBuffer());
-}
-
-TEST(FileOverridesTest, adjustChangedRanges) {
- SmallString<128> fileAPath("fileA.cpp");
- ASSERT_FALSE(llvm::sys::fs::make_absolute(fileAPath));
- SmallString<128> fileBPath("fileB.cpp");
- ASSERT_FALSE(llvm::sys::fs::make_absolute(fileBPath));
-
- replace::FileToReplacementsMap GroupedReplacements;
- GroupedReplacements[fileAPath] = makeReplacements(0, 5, 4, fileAPath);
- GroupedReplacements[fileBPath] = makeReplacements(10, 0, 6, fileBPath);
-
- FileOverrides Overrides;
-
- const FileOverrides::ChangeMap &Map = Overrides.getChangedRanges();
-
- ASSERT_TRUE(Map.empty());
-
- Overrides.adjustChangedRanges(GroupedReplacements);
-
- ASSERT_TRUE(Map.end() != Map.find(fileAPath));
- ASSERT_TRUE(Map.end() != Map.find(fileBPath));
- const Range &RA = *Map.find(fileAPath)->second.begin();
- EXPECT_EQ(0u, RA.getOffset());
- EXPECT_EQ(4u, RA.getLength());
- const Range &RB = *Map.find(fileBPath)->second.begin();
- EXPECT_EQ(10u, RB.getOffset());
- EXPECT_EQ(6u, RB.getLength());
-}
OpenPOWER on IntegriCloud