Skip to content

Commit

Permalink
Add tests for cursor row offset
Browse files Browse the repository at this point in the history
  • Loading branch information
Jakob Zahn committed May 8, 2024
1 parent 9be5ee5 commit 46dc3ec
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions tests/text_area/test_edit_via_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,27 @@ async def test_insert_character_near_cursor_maintain_selection_offset(
assert text_area.selection == Selection.cursor(cursor_destination)


@pytest.mark.parametrize(
"cursor_location,insert_location,cursor_destination",
[
((1, 0), (0, 0), (2, 0)), # API insert before cursor row
((0, 0), (0, 0), (1, 0)), # API insert right at cursor row
((0, 0), (1, 0), (0, 0)), # API insert after cursor row
],
)
async def test_insert_newline_around_cursor_maintain_selection_offset(
cursor_location,
insert_location,
cursor_destination
):
app = TextAreaApp()
async with app.run_test():
text_area = app.query_one(TextArea)
text_area.move_cursor(cursor_location)
text_area.insert("X\n", location=insert_location)
assert text_area.selection == Selection.cursor(cursor_destination)


async def test_insert_newlines_start():
app = TextAreaApp()
async with app.run_test():
Expand Down

0 comments on commit 46dc3ec

Please sign in to comment.