2022-08-22 15:33:46 +02:00
|
|
|
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
|
2023-06-06 17:28:56 +02:00
|
|
|
#include "bolt/CST.hpp"
|
2022-08-22 15:33:46 +02:00
|
|
|
|
|
|
|
using namespace bolt;
|
|
|
|
|
|
|
|
TEST(TextFileTest, ReportsCorrectLine) {
|
|
|
|
TextFile T1 { "foo.txt", "bar\nbaz\nbax\n" };
|
|
|
|
ASSERT_EQ(T1.getLine(0), 1);
|
|
|
|
ASSERT_EQ(T1.getLine(1), 1);
|
|
|
|
ASSERT_EQ(T1.getLine(2), 1);
|
|
|
|
ASSERT_EQ(T1.getLine(3), 1);
|
|
|
|
ASSERT_EQ(T1.getLine(4), 2);
|
|
|
|
ASSERT_EQ(T1.getLine(5), 2);
|
|
|
|
ASSERT_EQ(T1.getLine(6), 2);
|
|
|
|
ASSERT_EQ(T1.getLine(7), 2);
|
|
|
|
ASSERT_EQ(T1.getLine(8), 3);
|
|
|
|
ASSERT_EQ(T1.getLine(9), 3);
|
|
|
|
ASSERT_EQ(T1.getLine(10), 3);
|
|
|
|
ASSERT_EQ(T1.getLine(11), 3);
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(TextFileTest, ReportsCorrectStartOffset) {
|
|
|
|
TextFile T1 { "foo.txt", "bar\nbaz\nbax\n" };
|
2023-06-06 17:28:56 +02:00
|
|
|
ASSERT_EQ(T1.getStartOffsetOfLine(1), 0);
|
|
|
|
ASSERT_EQ(T1.getStartOffsetOfLine(2), 4);
|
|
|
|
ASSERT_EQ(T1.getStartOffsetOfLine(3), 8);
|
|
|
|
ASSERT_EQ(T1.getStartOffsetOfLine(4), 12);
|
|
|
|
ASSERT_EQ(T1.getStartOffsetOfLine(5), 12);
|
2022-08-22 15:33:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
TEST(TextFileTest, ReportsCorrectColumn) {
|
|
|
|
TextFile T1 { "foo.txt", "bar\nbaz\nbax\n" };
|
|
|
|
ASSERT_EQ(T1.getColumn(0), 1);
|
|
|
|
ASSERT_EQ(T1.getColumn(1), 2);
|
|
|
|
ASSERT_EQ(T1.getColumn(2), 3);
|
|
|
|
ASSERT_EQ(T1.getColumn(3), 4);
|
|
|
|
ASSERT_EQ(T1.getColumn(4), 1);
|
|
|
|
ASSERT_EQ(T1.getColumn(5), 2);
|
|
|
|
ASSERT_EQ(T1.getColumn(6), 3);
|
|
|
|
ASSERT_EQ(T1.getColumn(7), 4);
|
|
|
|
ASSERT_EQ(T1.getColumn(8), 1);
|
|
|
|
ASSERT_EQ(T1.getColumn(9), 2);
|
|
|
|
ASSERT_EQ(T1.getColumn(10), 3);
|
|
|
|
ASSERT_EQ(T1.getColumn(11), 4);
|
|
|
|
}
|