update BufferLineWalker unit tests for full coverage

This commit is contained in:
Josh Holtrop 2017-09-04 15:57:03 -04:00
parent 74dfb7ce78
commit 7ad28ceb67

View File

@ -33,6 +33,11 @@ TEST(BufferLineWalkerTest, iterats_once_for_empty_line)
iter_count++; iter_count++;
} }
EXPECT_EQ(1, iter_count); EXPECT_EQ(1, iter_count);
EXPECT_FALSE(blw.is_valid());
EXPECT_FALSE(blw.is_eol());
blw++;
EXPECT_FALSE(blw.is_valid());
EXPECT_FALSE(blw.is_eol());
} }
TEST(BufferLineWalkerTest, walks_correctly_with_tabs_and_no_line_wrapping) TEST(BufferLineWalkerTest, walks_correctly_with_tabs_and_no_line_wrapping)
@ -63,22 +68,22 @@ TEST(BufferLineWalkerTest, walks_correctly_with_tabs_and_no_line_wrapping)
TEST(BufferLineWalkerTest, walks_correctly_with_tabs_and_line_wrapping) TEST(BufferLineWalkerTest, walks_correctly_with_tabs_and_line_wrapping)
{ {
static const char data[] = "\t1\t12\t123\t1234\t!"; static const char data[] = "\t1\t12\t123\t1234\t\t!";
std::shared_ptr<Buffer> b = std::make_shared<Buffer>((const uint8_t *)data, strlen(data)); std::shared_ptr<Buffer> b = std::make_shared<Buffer>((const uint8_t *)data, strlen(data));
std::shared_ptr<Buffer::Iterator> start_of_line = b->add_iterator(); std::shared_ptr<Buffer::Iterator> start_of_line = b->add_iterator();
BufferLineWalker blw(b, start_of_line, 5, cld); BufferLineWalker blw(b, start_of_line, 5, cld);
static int expected_screen_columns[] = {
0, 4, 0, 3, 4, 0, 2, 3, 4, 0, 1, 2, 3, 4, 0, 4, 0
};
static int expected_row_offsets[] = { static int expected_row_offsets[] = {
0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 5 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 5, 5
};
static int expected_screen_columns[] = {
0, 4, 0, 3, 4, 0, 2, 3, 4, 0, 1, 2, 3, 4, 0, 4, 3, 4
}; };
static int expected_virtual_columns[] = { static int expected_virtual_columns[] = {
0, 4, 5, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25 0, 4, 5, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 28, 29
}; };
static int expected_character_widths[] = { static int expected_character_widths[] = {
4, 1, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 0 4, 1, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 0
}; };
int iter_count = 0; int iter_count = 0;
for (; blw.is_valid(); blw++) for (; blw.is_valid(); blw++)