| #include "swift/Parse/Token.h" |
| #include "swift/Syntax/RawSyntax.h" |
| #include "swift/Syntax/SyntaxFactory.h" |
| #include "llvm/ADT/SmallString.h" |
| #include "gtest/gtest.h" |
| |
| using namespace swift; |
| using namespace swift::syntax; |
| |
| // TODO |
| |
| TEST(RawSyntaxTests, accumulateAbsolutePosition1) { |
| auto Token = RawSyntax::make(tok::identifier, |
| OwnedString("aaa"), |
| { |
| TriviaPiece::newlines(2), |
| TriviaPiece::carriageReturns(2), |
| TriviaPiece::carriageReturnLineFeeds(2) |
| }, |
| { }, |
| SourcePresence::Present); |
| AbsolutePosition Pos; |
| Token->accumulateAbsolutePosition(Pos); |
| ASSERT_EQ(7u, Pos.getLine()); |
| ASSERT_EQ(4u, Pos.getColumn()); |
| ASSERT_EQ(11u, Pos.getOffset()); |
| } |
| |
| TEST(RawSyntaxTests, accumulateAbsolutePosition2) { |
| auto Token = RawSyntax::make(tok::identifier, |
| OwnedString("aaa"), |
| {TriviaPiece::blockComment("/* \n\r\r\n */")}, |
| { }, |
| SourcePresence::Present); |
| AbsolutePosition Pos; |
| Token->accumulateAbsolutePosition(Pos); |
| ASSERT_EQ(4u, Pos.getLine()); |
| ASSERT_EQ(7u, Pos.getColumn()); |
| ASSERT_EQ(13u, Pos.getOffset()); |
| } |