BufferView: fix more scrolling problems

This commit is contained in:
josh committed 2017-09-23 16:02:34 -04:00
1 parent 33377f7668
commit 1d12a7fe7d
2 files changed
+49 -2

No files matched your search

+43
View File
@@ -592,6 +592,49 @@ TEST(BufferViewTest, scrolls_the_view_up_and_down)
EXPECT_EQ(5, bv.cursor_screen_row());
}
TEST(BufferViewTest, scrolls_the_view_up_and_down_with_wrapped_lines)
{
auto b = buffer1();
auto iterator = b->add_iterator();
BufferView bv(b, iterator, Cwd);
bv.resize(4, 2);
bv.update();
EXPECT_EQ(0, LineNumber(iterator));
EXPECT_EQ(0, bv.cursor_screen_row());
bv.scroll_view_down(6, false);
bv.update();
EXPECT_EQ(6, LineNumber(iterator));
EXPECT_EQ(C('6'), **iterator);
EXPECT_EQ(0, bv.cursor_screen_row());
bv.scroll_view_down(1, false);
bv.update();
EXPECT_EQ(6, LineNumber(iterator));
EXPECT_EQ(C('d'), **iterator);
bv.scroll_view_down(1, false);
bv.update();
EXPECT_EQ(7, LineNumber(iterator));
EXPECT_EQ(C('7'), **iterator);
bv.scroll_view_down(4, false);
bv.update();
EXPECT_EQ(9, LineNumber(iterator));
EXPECT_EQ(C('h'), **iterator);
bv.scroll_view_down(2, false);
bv.update();
EXPECT_EQ(10, LineNumber(iterator));
EXPECT_EQ(C('1'), **iterator);
bv.cursor_move(BufferView::CursorMovement::RIGHT, false);
bv.update();
bv.scroll_view_up(3, false);
bv.update();
EXPECT_EQ(9, LineNumber(iterator));
EXPECT_EQ(C('i'), **iterator);
bv.scroll_view_up(5, false);
bv.update();
EXPECT_EQ(6, LineNumber(iterator));
EXPECT_EQ(C('e'), **iterator);
}
TEST(BufferViewTest, scrolls_the_view_up_and_down_with_nonzero_scroll_offset)
{
auto b = buffer1();