Skip to content

Commit cb0b889

Browse files
committed
test(masked input): add test for replacing selection
Add tests for replacing selected text in the `MaskedInput`.
1 parent f570a9b commit cb0b889

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tests/test_masked_input.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,3 +361,55 @@ async def test_movement_actions_with_select():
361361
input.action_cursor_right()
362362
input.action_cursor_left_word(select=True)
363363
assert input.selection == (len(input.value), 18)
364+
365+
366+
async def test_replace_selection():
367+
app = MaskedInputApp(
368+
template="NNNNN-NNNNN-NNNNN-NNNNN;_",
369+
value="ABCDE-FGHIJ-KLMNO-PQRST",
370+
select_on_focus=False,
371+
)
372+
async with app.run_test() as pilot:
373+
input = app.query_one(MaskedInput)
374+
375+
input.cursor_position = 0
376+
input.action_cursor_right(select=True)
377+
await pilot.press("x")
378+
assert input.value == "xBCDE-FGHIJ-KLMNO-PQRST"
379+
assert input.selection.is_empty
380+
assert input.cursor_position == 1
381+
382+
input.cursor_position = 3
383+
input.action_cursor_left(select=True)
384+
await pilot.press("x")
385+
assert input.value == "xBxDE-FGHIJ-KLMNO-PQRST"
386+
assert input.selection.is_empty
387+
assert input.cursor_position == 3
388+
389+
input.cursor_position = 6
390+
input.action_cursor_left(select=True)
391+
await pilot.press("x")
392+
assert input.value == "xBxDx-FGHIJ-KLMNO-PQRST"
393+
assert input.selection.is_empty
394+
assert input.cursor_position == 6
395+
396+
input.cursor_position = 9
397+
input.action_cursor_left_word(select=True)
398+
await pilot.press("x")
399+
assert input.value == "xBxDx-x IJ-KLMNO-PQRST"
400+
assert input.selection.is_empty
401+
assert input.cursor_position == 7
402+
403+
input.cursor_position = 15
404+
input.action_cursor_right_word(select=True)
405+
await pilot.press("x")
406+
assert input.value == "xBxDx-x IJ-KLMx -PQRST"
407+
assert input.selection.is_empty
408+
assert input.cursor_position == 16
409+
410+
input.cursor_position = 9
411+
input.action_home(select=True)
412+
await pilot.press("a")
413+
assert input.value == "a - IJ-KLMx -PQRST"
414+
assert input.selection.is_empty
415+
assert input.cursor_position == 1

0 commit comments

Comments
 (0)