1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | #include "clang/Frontend/CommandLineSourceLoc.h" |
10 | #include "gtest/gtest.h" |
11 | |
12 | using namespace llvm; |
13 | using namespace clang; |
14 | |
15 | namespace { |
16 | |
17 | TEST(ParsedSourceRange, ParseTest) { |
18 | auto Check = [](StringRef Value, StringRef Filename, unsigned BeginLine, |
19 | unsigned BeginColumn, unsigned EndLine, unsigned EndColumn) { |
20 | Optional<ParsedSourceRange> PSR = ParsedSourceRange::fromString(Value); |
21 | ASSERT_TRUE(PSR); |
22 | EXPECT_EQ(PSR->FileName, Filename); |
23 | EXPECT_EQ(PSR->Begin.first, BeginLine); |
24 | EXPECT_EQ(PSR->Begin.second, BeginColumn); |
25 | EXPECT_EQ(PSR->End.first, EndLine); |
26 | EXPECT_EQ(PSR->End.second, EndColumn); |
27 | }; |
28 | |
29 | Check("/Users/test/a-b.cpp:1:2", "/Users/test/a-b.cpp", 1, 2, 1, 2); |
30 | Check("/Users/test/a-b.cpp:1:2-3:4", "/Users/test/a-b.cpp", 1, 2, 3, 4); |
31 | |
32 | Check("C:/Users/bob/a-b.cpp:1:2", "C:/Users/bob/a-b.cpp", 1, 2, 1, 2); |
33 | Check("C:/Users/bob/a-b.cpp:1:2-3:4", "C:/Users/bob/a-b.cpp", 1, 2, 3, 4); |
34 | } |
35 | |
36 | } |
37 | |