BufferView: fix more scrolling problems
This commit is contained in:
1 parent
33377f7668
commit
1d12a7fe7d
2 files changed
+49
-2
No files matched your search
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user