diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2012-08-15 20:02:54 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2012-08-15 20:02:54 +0000 | 
| commit | 56d91b49b13fe55c918afbda19f6165b5fbff87a (patch) | |
| tree | 9abb1a658a297776086f4e0dfa6ca533de02104e /unittests/Basic/SourceManagerTest.cpp | |
| parent | 41e20f564abdb05101d6b2b29c59459a966c22cc (diff) | |
Notes
Diffstat (limited to 'unittests/Basic/SourceManagerTest.cpp')
| -rw-r--r-- | unittests/Basic/SourceManagerTest.cpp | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/unittests/Basic/SourceManagerTest.cpp b/unittests/Basic/SourceManagerTest.cpp index 429b58d7ea45..de3b72318ccf 100644 --- a/unittests/Basic/SourceManagerTest.cpp +++ b/unittests/Basic/SourceManagerTest.cpp @@ -107,6 +107,54 @@ TEST_F(SourceManagerTest, isBeforeInTranslationUnit) {    EXPECT_TRUE(SourceMgr.isBeforeInTranslationUnit(idLoc, macroExpEndLoc));  } +TEST_F(SourceManagerTest, getColumnNumber) { +  const char *Source = +    "int x;\n" +    "int y;"; + +  MemoryBuffer *Buf = MemoryBuffer::getMemBuffer(Source); +  FileID MainFileID = SourceMgr.createMainFileIDForMemBuffer(Buf); + +  bool Invalid; + +  Invalid = false; +  EXPECT_EQ(1U, SourceMgr.getColumnNumber(MainFileID, 0, &Invalid)); +  EXPECT_TRUE(!Invalid); + +  Invalid = false; +  EXPECT_EQ(5U, SourceMgr.getColumnNumber(MainFileID, 4, &Invalid)); +  EXPECT_TRUE(!Invalid); + +  Invalid = false; +  EXPECT_EQ(1U, SourceMgr.getColumnNumber(MainFileID, 7, &Invalid)); +  EXPECT_TRUE(!Invalid); + +  Invalid = false; +  EXPECT_EQ(5U, SourceMgr.getColumnNumber(MainFileID, 11, &Invalid)); +  EXPECT_TRUE(!Invalid); + +  Invalid = false; +  EXPECT_EQ(7U, SourceMgr.getColumnNumber(MainFileID, strlen(Source), +                                         &Invalid)); +  EXPECT_TRUE(!Invalid); + +  Invalid = false; +  SourceMgr.getColumnNumber(MainFileID, strlen(Source)+1, &Invalid); +  EXPECT_TRUE(Invalid); + +  // Test invalid files +  Invalid = false; +  SourceMgr.getColumnNumber(FileID(), 0, &Invalid); +  EXPECT_TRUE(Invalid); + +  Invalid = false; +  SourceMgr.getColumnNumber(FileID(), 1, &Invalid); +  EXPECT_TRUE(Invalid); + +  // Test with no invalid flag. +  EXPECT_EQ(1U, SourceMgr.getColumnNumber(MainFileID, 0, NULL)); +} +  #if defined(LLVM_ON_UNIX)  TEST_F(SourceManagerTest, getMacroArgExpandedLocation) { | 
