BufferView: add scroll_view_{up,down}()
This commit is contained in:
1 parent
84759d0a36
commit
70aba6e2d4
3 files changed
+189
No files matched your search
@@ -520,3 +520,116 @@ TEST(BufferViewTest, cursor_move_screen_row_up_and_down_returns_false_at_top_and
|
||||
}
|
||||
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false));
|
||||
}
|
||||
|
||||
TEST(BufferViewTest, scrolls_the_view_up_and_down)
|
||||
{
|
||||
auto b = buffer1();
|
||||
auto iterator = b->add_iterator();
|
||||
BufferView bv(b, iterator, Cwd);
|
||||
bv.resize(40, 6);
|
||||
bv.update();
|
||||
EXPECT_EQ(0, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(1, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(5, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(6, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(7, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(7, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(3, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(7, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(7, LineNumber(iterator));
|
||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(4, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(7, LineNumber(iterator));
|
||||
EXPECT_EQ(5, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(6, LineNumber(iterator));
|
||||
EXPECT_EQ(5, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(5, LineNumber(iterator));
|
||||
EXPECT_EQ(5, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(5, LineNumber(iterator));
|
||||
EXPECT_EQ(5, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(3, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(5, LineNumber(iterator));
|
||||
EXPECT_EQ(5, bv.cursor_screen_row());
|
||||
}
|
||||
|
||||
TEST(BufferViewTest, scrolls_the_view_up_and_down_with_nonzero_scroll_offset)
|
||||
{
|
||||
auto b = buffer1();
|
||||
auto iterator = b->add_iterator();
|
||||
BufferView bv(b, iterator, Cwd);
|
||||
bv.resize(40, 6);
|
||||
bv.set_scroll_offset(2);
|
||||
bv.update();
|
||||
EXPECT_EQ(0, LineNumber(iterator));
|
||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(3, LineNumber(iterator));
|
||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(5, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(8, LineNumber(iterator));
|
||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(9, LineNumber(iterator));
|
||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(9, LineNumber(iterator));
|
||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||
bv.scroll_view_down(3, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(9, LineNumber(iterator));
|
||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(9, LineNumber(iterator));
|
||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(4, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(5, LineNumber(iterator));
|
||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(4, LineNumber(iterator));
|
||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(3, LineNumber(iterator));
|
||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(1, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(3, LineNumber(iterator));
|
||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||
bv.scroll_view_up(3, false);
|
||||
bv.update();
|
||||
EXPECT_EQ(3, LineNumber(iterator));
|
||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||
}
|
||||
Reference in new issue
Block a user