BufferView: cursor_move() takes a character argument
This commit is contained in:
parent
739edfd6f7
commit
2d559db7d0
@ -101,7 +101,7 @@ void BufferView::update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BufferView::cursor_move(CursorMovement which, bool allow_eol)
|
bool BufferView::cursor_move(CursorMovement which, uint32_t c, bool allow_eol)
|
||||||
{
|
{
|
||||||
bool moved = false;
|
bool moved = false;
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ public:
|
|||||||
{
|
{
|
||||||
return BufferLineWalker(m_buffer, start_of_line, m_width, m_character_width_determiner);
|
return BufferLineWalker(m_buffer, start_of_line, m_width, m_character_width_determiner);
|
||||||
}
|
}
|
||||||
bool cursor_move(CursorMovement which, bool allow_eol);
|
bool cursor_move(CursorMovement which, uint32_t c, bool allow_eol);
|
||||||
int cursor_screen_row() const { return m_cursor_screen_row; }
|
int cursor_screen_row() const { return m_cursor_screen_row; }
|
||||||
int cursor_screen_column() const { return m_cursor_screen_column; }
|
int cursor_screen_column() const { return m_cursor_screen_column; }
|
||||||
int cursor_virtual_column() const { return m_cursor_virtual_column; }
|
int cursor_virtual_column() const { return m_cursor_virtual_column; }
|
||||||
|
@ -356,9 +356,9 @@ size_t BufferPane::display_column() const
|
|||||||
return m_buffer_view->cursor_virtual_column() + 1u;
|
return m_buffer_view->cursor_virtual_column() + 1u;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferPane::cursor_move(BufferPane::CursorMovement which)
|
void BufferPane::cursor_move(BufferPane::CursorMovement which, uint32_t c)
|
||||||
{
|
{
|
||||||
bool moved = m_buffer_view->cursor_move(which, insert_mode());
|
bool moved = m_buffer_view->cursor_move(which, c, insert_mode());
|
||||||
if (moved)
|
if (moved)
|
||||||
{
|
{
|
||||||
m_buffer_view->update();
|
m_buffer_view->update();
|
||||||
@ -396,7 +396,7 @@ void BufferPane::enter_insert_mode(Window::EnterInsertModeMode which)
|
|||||||
m_buffer->enter_insert_mode();
|
m_buffer->enter_insert_mode();
|
||||||
m_buffer->insert_code_point(*m_iterator, '\n');
|
m_buffer->insert_code_point(*m_iterator, '\n');
|
||||||
m_buffer->exit_insert_mode();
|
m_buffer->exit_insert_mode();
|
||||||
cursor_move(CursorMovement::UP);
|
cursor_move(CursorMovement::UP, 0u);
|
||||||
enter_insert_mode(Window::EnterInsertModeMode::START_OF_CHAR);
|
enter_insert_mode(Window::EnterInsertModeMode::START_OF_CHAR);
|
||||||
break;
|
break;
|
||||||
case Window::EnterInsertModeMode::NEW_LINE_AFTER:
|
case Window::EnterInsertModeMode::NEW_LINE_AFTER:
|
||||||
|
@ -31,7 +31,7 @@ public:
|
|||||||
BufferPane(Window * window, std::shared_ptr<Buffer> buffer);
|
BufferPane(Window * window, std::shared_ptr<Buffer> buffer);
|
||||||
void resize(int width, int height) override;
|
void resize(int width, int height) override;
|
||||||
void draw();
|
void draw();
|
||||||
void cursor_move(CursorMovement which);
|
void cursor_move(CursorMovement which, uint32_t c);
|
||||||
void enter_insert_mode(Window::EnterInsertModeMode which);
|
void enter_insert_mode(Window::EnterInsertModeMode which);
|
||||||
void insert_code_point(uint32_t code_point);
|
void insert_code_point(uint32_t code_point);
|
||||||
void exit_insert_mode();
|
void exit_insert_mode();
|
||||||
|
@ -255,22 +255,22 @@ void Window::handle_keypress(uint32_t keyval)
|
|||||||
switch (ctrl_keyval)
|
switch (ctrl_keyval)
|
||||||
{
|
{
|
||||||
case JES_KEY_HOME:
|
case JES_KEY_HOME:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::SOL);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::SOL, 0u);
|
||||||
break;
|
break;
|
||||||
case JES_KEY_END:
|
case JES_KEY_END:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::EOL);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::EOL, 0u);
|
||||||
break;
|
break;
|
||||||
case JES_KEY_RIGHT:
|
case JES_KEY_RIGHT:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::RIGHT);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::RIGHT, 0u);
|
||||||
break;
|
break;
|
||||||
case JES_KEY_LEFT:
|
case JES_KEY_LEFT:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::LEFT);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::LEFT, 0u);
|
||||||
break;
|
break;
|
||||||
case JES_KEY_DOWN:
|
case JES_KEY_DOWN:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::DOWN);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::DOWN, 0u);
|
||||||
break;
|
break;
|
||||||
case JES_KEY_UP:
|
case JES_KEY_UP:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::UP);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::UP, 0u);
|
||||||
break;
|
break;
|
||||||
case JES_KEY_PAGE_UP:
|
case JES_KEY_PAGE_UP:
|
||||||
m_focused_buffer_pane->scroll_window_up(ScrollMode::WHOLE_SCREEN);
|
m_focused_buffer_pane->scroll_window_up(ScrollMode::WHOLE_SCREEN);
|
||||||
@ -381,28 +381,28 @@ void Window::execute_command(const Command & command)
|
|||||||
case Command::CHANGE_CHAR:
|
case Command::CHANGE_CHAR:
|
||||||
break;
|
break;
|
||||||
case Command::GO_TO_LINE:
|
case Command::GO_TO_LINE:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::FIRST_LINE);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::FIRST_LINE, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_TO_LAST_LINE:
|
case Command::GO_TO_LAST_LINE:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::LAST_LINE);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::LAST_LINE, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_LEFT:
|
case Command::GO_LEFT:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::LEFT);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::LEFT, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_DOWN:
|
case Command::GO_DOWN:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::DOWN);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::DOWN, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_UP:
|
case Command::GO_UP:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::UP);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::UP, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_RIGHT:
|
case Command::GO_RIGHT:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::RIGHT);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::RIGHT, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_START_OF_LINE:
|
case Command::GO_START_OF_LINE:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::SOL);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::SOL, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::GO_END_OF_LINE:
|
case Command::GO_END_OF_LINE:
|
||||||
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::EOL);
|
m_focused_buffer_pane->cursor_move(BufferPane::CursorMovement::EOL, 0u);
|
||||||
break;
|
break;
|
||||||
case Command::NEXT:
|
case Command::NEXT:
|
||||||
break;
|
break;
|
||||||
|
@ -164,46 +164,46 @@ TEST(BufferViewTest, adjusts_cursor_row_as_cursor_moves)
|
|||||||
bv.resize(5, 5);
|
bv.resize(5, 5);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 1
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 1
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 2
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 2
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 3
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 3
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 4
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 4
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(4, bv.cursor_screen_row());
|
EXPECT_EQ(4, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 5
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 5
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(4, bv.cursor_screen_row());
|
EXPECT_EQ(4, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 6
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 6
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(4, bv.cursor_screen_row());
|
EXPECT_EQ(4, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 7
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 7
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(4, bv.cursor_screen_row());
|
EXPECT_EQ(4, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 6
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 6
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 5
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 5
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 4
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 4
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 3
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 3
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 2
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 2
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 1
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 1
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 0
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 0
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
}
|
}
|
||||||
@ -217,46 +217,46 @@ TEST(BufferViewTest, adjusts_cursor_row_as_cursor_moves_with_scroll_offset_1)
|
|||||||
bv.set_scroll_offset(1);
|
bv.set_scroll_offset(1);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 1
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 1
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 2
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 2
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 3
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 3
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 4
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 4
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 5
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 5
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 6
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 6
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false); // to 7
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false); // to 7
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 6
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 6
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 5
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 5
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 4
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 4
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 3
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 3
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 2
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 2
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 1
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 1
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::UP, false); // to 0
|
bv.cursor_move(BufferView::CursorMovement::UP, 0u, false); // to 0
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
}
|
}
|
||||||
@ -269,7 +269,7 @@ TEST(BufferViewTest, moves_view_down_while_traversing_a_wrapped_line_right)
|
|||||||
bv.resize(4, 10);
|
bv.resize(4, 10);
|
||||||
for (int i = 0; i < 9; i++)
|
for (int i = 0; i < 9; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
}
|
}
|
||||||
EXPECT_EQ(9, bv.cursor_screen_row());
|
EXPECT_EQ(9, bv.cursor_screen_row());
|
||||||
@ -278,7 +278,7 @@ TEST(BufferViewTest, moves_view_down_while_traversing_a_wrapped_line_right)
|
|||||||
EXPECT_EQ(C('9'), **iterator);
|
EXPECT_EQ(C('9'), **iterator);
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(9, bv.cursor_screen_row());
|
EXPECT_EQ(9, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(1 + i, bv.cursor_screen_column());
|
EXPECT_EQ(1 + i, bv.cursor_screen_column());
|
||||||
@ -286,7 +286,7 @@ TEST(BufferViewTest, moves_view_down_while_traversing_a_wrapped_line_right)
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(9, bv.cursor_screen_row());
|
EXPECT_EQ(9, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(i, bv.cursor_screen_column());
|
EXPECT_EQ(i, bv.cursor_screen_column());
|
||||||
@ -294,7 +294,7 @@ TEST(BufferViewTest, moves_view_down_while_traversing_a_wrapped_line_right)
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(9, bv.cursor_screen_row());
|
EXPECT_EQ(9, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(i, bv.cursor_screen_column());
|
EXPECT_EQ(i, bv.cursor_screen_column());
|
||||||
@ -311,14 +311,14 @@ TEST(BufferViewTest, moves_view_down_while_jumping_to_the_end_of_a_wrapped_line)
|
|||||||
bv.resize(4, 10);
|
bv.resize(4, 10);
|
||||||
for (int i = 0; i < 9; i++)
|
for (int i = 0; i < 9; i++)
|
||||||
{
|
{
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false);
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
}
|
}
|
||||||
EXPECT_EQ(9, bv.cursor_screen_row());
|
EXPECT_EQ(9, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(0, bv.cursor_virtual_column());
|
EXPECT_EQ(0, bv.cursor_virtual_column());
|
||||||
EXPECT_EQ(C('9'), **iterator);
|
EXPECT_EQ(C('9'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::EOL, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::EOL, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(9, bv.cursor_screen_row());
|
EXPECT_EQ(9, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(3, bv.cursor_screen_column());
|
EXPECT_EQ(3, bv.cursor_screen_column());
|
||||||
@ -334,7 +334,7 @@ TEST(BufferViewTest, moves_view_up_while_traversing_a_wrapped_line_left)
|
|||||||
bv.resize(2, 3);
|
bv.resize(2, 3);
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
}
|
}
|
||||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||||
@ -351,25 +351,25 @@ TEST(BufferViewTest, moves_view_up_while_traversing_a_wrapped_line_left)
|
|||||||
EXPECT_EQ(1, bv.cursor_screen_column());
|
EXPECT_EQ(1, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(3, bv.cursor_virtual_column());
|
EXPECT_EQ(3, bv.cursor_virtual_column());
|
||||||
EXPECT_EQ(C('c'), **iterator);
|
EXPECT_EQ(C('c'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(2, bv.cursor_virtual_column());
|
EXPECT_EQ(2, bv.cursor_virtual_column());
|
||||||
EXPECT_EQ(C('b'), **iterator);
|
EXPECT_EQ(C('b'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(1, bv.cursor_screen_column());
|
EXPECT_EQ(1, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(1, bv.cursor_virtual_column());
|
EXPECT_EQ(1, bv.cursor_virtual_column());
|
||||||
EXPECT_EQ(C('a'), **iterator);
|
EXPECT_EQ(C('a'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(0, bv.cursor_virtual_column());
|
EXPECT_EQ(0, bv.cursor_virtual_column());
|
||||||
EXPECT_EQ(C('2'), **iterator);
|
EXPECT_EQ(C('2'), **iterator);
|
||||||
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::LEFT, false));
|
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::LEFT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
@ -385,7 +385,7 @@ TEST(BufferViewTest, moves_view_up_while_jumping_to_start_of_a_wrapped_line)
|
|||||||
bv.resize(2, 3);
|
bv.resize(2, 3);
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
bv.cursor_move(BufferView::CursorMovement::DOWN, false);
|
bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
}
|
}
|
||||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||||
@ -402,7 +402,7 @@ TEST(BufferViewTest, moves_view_up_while_jumping_to_start_of_a_wrapped_line)
|
|||||||
EXPECT_EQ(1, bv.cursor_screen_column());
|
EXPECT_EQ(1, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(3, bv.cursor_virtual_column());
|
EXPECT_EQ(3, bv.cursor_virtual_column());
|
||||||
EXPECT_EQ(C('c'), **iterator);
|
EXPECT_EQ(C('c'), **iterator);
|
||||||
bv.cursor_move(BufferView::CursorMovement::SOL, false);
|
bv.cursor_move(BufferView::CursorMovement::SOL, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
@ -416,20 +416,20 @@ TEST(BufferViewTest, warps_view_when_jumping_to_beginning_and_end_of_buffer)
|
|||||||
auto iterator = b->add_iterator();
|
auto iterator = b->add_iterator();
|
||||||
BufferView bv(b, iterator, Cwd);
|
BufferView bv(b, iterator, Cwd);
|
||||||
bv.resize(4, 4);
|
bv.resize(4, 4);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LAST_LINE, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LAST_LINE, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(12, LineNumber(iterator));
|
EXPECT_EQ(12, LineNumber(iterator));
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(0, bv.cursor_virtual_column());
|
EXPECT_EQ(0, bv.cursor_virtual_column());
|
||||||
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::LAST_LINE, false));
|
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::LAST_LINE, 0u, false));
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::FIRST_LINE, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::FIRST_LINE, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, LineNumber(iterator));
|
EXPECT_EQ(0, LineNumber(iterator));
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(0, bv.cursor_screen_column());
|
EXPECT_EQ(0, bv.cursor_screen_column());
|
||||||
EXPECT_EQ(0, bv.cursor_virtual_column());
|
EXPECT_EQ(0, bv.cursor_virtual_column());
|
||||||
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::FIRST_LINE, false));
|
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::FIRST_LINE, 0u, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(BufferViewTest, sets_target_column_to_eol_when_jumping_to_SOL_and_EOL)
|
TEST(BufferViewTest, sets_target_column_to_eol_when_jumping_to_SOL_and_EOL)
|
||||||
@ -438,18 +438,18 @@ TEST(BufferViewTest, sets_target_column_to_eol_when_jumping_to_SOL_and_EOL)
|
|||||||
auto iterator = b->add_iterator();
|
auto iterator = b->add_iterator();
|
||||||
BufferView bv(b, iterator, Cwd);
|
BufferView bv(b, iterator, Cwd);
|
||||||
bv.resize(4, 4);
|
bv.resize(4, 4);
|
||||||
bv.cursor_move(BufferView::CursorMovement::EOL, false);
|
bv.cursor_move(BufferView::CursorMovement::EOL, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
EXPECT_EQ(C('b'), **iterator);
|
EXPECT_EQ(C('b'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::UP, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::UP, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::SOL, false);
|
bv.cursor_move(BufferView::CursorMovement::SOL, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false));
|
||||||
EXPECT_EQ(C('1'), **iterator);
|
EXPECT_EQ(C('1'), **iterator);
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
}
|
}
|
||||||
@ -460,24 +460,24 @@ TEST(BufferViewTest, sets_target_column_when_traversing_left_and_right)
|
|||||||
auto iterator = b->add_iterator();
|
auto iterator = b->add_iterator();
|
||||||
BufferView bv(b, iterator, Cwd);
|
BufferView bv(b, iterator, Cwd);
|
||||||
bv.resize(4, 4);
|
bv.resize(4, 4);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, LineNumber(iterator));
|
EXPECT_EQ(1, LineNumber(iterator));
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, LineNumber(iterator));
|
EXPECT_EQ(1, LineNumber(iterator));
|
||||||
EXPECT_EQ(C('b'), **iterator);
|
EXPECT_EQ(C('b'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(2, LineNumber(iterator));
|
EXPECT_EQ(2, LineNumber(iterator));
|
||||||
EXPECT_EQ(C('b'), **iterator);
|
EXPECT_EQ(C('b'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::LEFT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(2, LineNumber(iterator));
|
EXPECT_EQ(2, LineNumber(iterator));
|
||||||
EXPECT_EQ(C('a'), **iterator);
|
EXPECT_EQ(C('a'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::UP, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::UP, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1, LineNumber(iterator));
|
EXPECT_EQ(1, LineNumber(iterator));
|
||||||
EXPECT_EQ(C('a'), **iterator);
|
EXPECT_EQ(C('a'), **iterator);
|
||||||
@ -491,30 +491,30 @@ TEST(BufferViewTest, moves_cursor_by_screen_row)
|
|||||||
bv.resize(4, 4);
|
bv.resize(4, 4);
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(1 + i, LineNumber(iterator));
|
EXPECT_EQ(1 + i, LineNumber(iterator));
|
||||||
}
|
}
|
||||||
EXPECT_EQ(C('6'), **iterator);
|
EXPECT_EQ(C('6'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(6, LineNumber(iterator));
|
EXPECT_EQ(6, LineNumber(iterator));
|
||||||
EXPECT_EQ(C('d'), **iterator);
|
EXPECT_EQ(C('d'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('f'), **iterator);
|
EXPECT_EQ(C('f'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('7'), **iterator);
|
EXPECT_EQ(C('7'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('f'), **iterator);
|
EXPECT_EQ(C('f'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('b'), **iterator);
|
EXPECT_EQ(C('b'), **iterator);
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('5'), **iterator);
|
EXPECT_EQ(C('5'), **iterator);
|
||||||
}
|
}
|
||||||
@ -525,15 +525,15 @@ TEST(BufferViewTest, cursor_move_screen_row_up_and_down_returns_false_at_top_and
|
|||||||
auto iterator = b->add_iterator();
|
auto iterator = b->add_iterator();
|
||||||
BufferView bv(b, iterator, Cwd);
|
BufferView bv(b, iterator, Cwd);
|
||||||
bv.resize(4, 4);
|
bv.resize(4, 4);
|
||||||
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, false));
|
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_UP, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(0, LineNumber(iterator));
|
EXPECT_EQ(0, LineNumber(iterator));
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false));
|
EXPECT_TRUE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false));
|
||||||
bv.update();
|
bv.update();
|
||||||
}
|
}
|
||||||
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false));
|
EXPECT_FALSE(bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(BufferViewTest, scrolls_the_view_up_and_down)
|
TEST(BufferViewTest, scrolls_the_view_up_and_down)
|
||||||
@ -623,7 +623,7 @@ TEST(BufferViewTest, scrolls_the_view_up_and_down_with_wrapped_lines)
|
|||||||
EXPECT_EQ(10, LineNumber(iterator));
|
EXPECT_EQ(10, LineNumber(iterator));
|
||||||
EXPECT_EQ(C('1'), **iterator);
|
EXPECT_EQ(C('1'), **iterator);
|
||||||
|
|
||||||
bv.cursor_move(BufferView::CursorMovement::RIGHT, false);
|
bv.cursor_move(BufferView::CursorMovement::RIGHT, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
bv.scroll_view_up(3, false);
|
bv.scroll_view_up(3, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
@ -787,15 +787,15 @@ TEST(BufferViewTest, moving_cursor_screen_row_down_jumps_past_wrapped_tab)
|
|||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('0'), **iterator);
|
EXPECT_EQ(C('0'), **iterator);
|
||||||
EXPECT_EQ(0, bv.cursor_screen_row());
|
EXPECT_EQ(0, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false);
|
bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('1'), **iterator);
|
EXPECT_EQ(C('1'), **iterator);
|
||||||
EXPECT_EQ(1, bv.cursor_screen_row());
|
EXPECT_EQ(1, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false);
|
bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('d'), **iterator);
|
EXPECT_EQ(C('d'), **iterator);
|
||||||
EXPECT_EQ(2, bv.cursor_screen_row());
|
EXPECT_EQ(2, bv.cursor_screen_row());
|
||||||
bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, false);
|
bv.cursor_move(BufferView::CursorMovement::SCREEN_ROW_DOWN, 0u, false);
|
||||||
bv.update();
|
bv.update();
|
||||||
EXPECT_EQ(C('f'), **iterator);
|
EXPECT_EQ(C('f'), **iterator);
|
||||||
EXPECT_EQ(3, bv.cursor_screen_row());
|
EXPECT_EQ(3, bv.cursor_screen_row());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user