//===- cpp11-migrate/ReformattingTest.cpp - Reformatting 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/Reformatting.h" #include "Core/FileOverrides.h" #include "gtest/gtest.h" #include "VirtualFileHelper.h" using namespace clang; using namespace clang::tooling; namespace { // convenience function to create a ChangedRanges containing one Range ChangedRanges makeChangedRanges(unsigned Offset, unsigned Length) { ChangedRanges Changes; Replacements Replaces; Replaces.insert(Replacement("", Offset, 0, std::string(Length, '~'))); Changes.adjustChangedRanges(Replaces); return Changes; } } // end anonymous namespace TEST(Reformatter, SingleReformat) { VirtualFileHelper VFHelper; llvm::StringRef FileName = ""; VFHelper.mapFile(FileName, "int a;\n" "int b;\n"); Reformatter ChangesReformatter(format::getLLVMStyle()); ChangedRanges Changes = makeChangedRanges(0, 6); tooling::Replacements Replaces = ChangesReformatter.reformatSingleFile( FileName, Changes, VFHelper.getNewSourceManager()); SourceOverrides Overrides(FileName, /*TrackChanges=*/false); Overrides.applyReplacements(Replaces, VFHelper.getNewSourceManager(), "reformatter"); std::string Expected, Result; Expected = "int a;\n" "int b;\n"; Result = Overrides.getMainFileContent(); EXPECT_EQ(Expected, Result); }