diff options
Diffstat (limited to 'text_tests.lua')
-rw-r--r-- | text_tests.lua | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/text_tests.lua b/text_tests.lua index 9b3b60c..962de7d 100644 --- a/text_tests.lua +++ b/text_tests.lua @@ -293,7 +293,7 @@ function test_click_on_empty_line() check_nil(Editor_state.selection1.line, 'selection is empty to avoid perturbing future edits') end -function test_click_below_all_lines() +function test_click_below_final_line_of_file() -- display one line App.screen.init{width=50, height=80} Editor_state = edit.initialize_test_state() @@ -305,8 +305,9 @@ function test_click_below_all_lines() -- click below first line edit.draw(Editor_state) edit.run_after_mouse_click(Editor_state, Editor_state.left+8,Editor_state.top+50, 1) - -- cursor doesn't move - check_eq(Editor_state.cursor1.line, 1, 'cursor') + -- cursor goes to bottom + check_eq(Editor_state.cursor1.line, 1, 'cursor:line') + check_eq(Editor_state.cursor1.pos, 4, 'cursor:pos') -- selection remains empty check_nil(Editor_state.selection1.line, 'selection is empty to avoid perturbing future edits') end @@ -1950,3 +1951,31 @@ function test_search_wrap_upwards() check_eq(Editor_state.cursor1.line, 1, '1/cursor:line') check_eq(Editor_state.cursor1.pos, 6, '1/cursor:pos') end + +function test_search_downwards_from_end_of_line() + App.screen.init{width=120, height=60} + Editor_state = edit.initialize_test_state() + Editor_state.lines = load_array{'abc', 'def', 'ghi'} + Text.redraw_all(Editor_state) + Editor_state.cursor1 = {line=1, pos=4} + Editor_state.screen_top1 = {line=1, pos=1} + edit.draw(Editor_state) + -- search for empty string + edit.run_after_keychord(Editor_state, 'C-f', 'f') + edit.run_after_keychord(Editor_state, 'down', 'down') + -- no crash +end + +function test_search_downwards_from_final_pos_of_line() + App.screen.init{width=120, height=60} + Editor_state = edit.initialize_test_state() + Editor_state.lines = load_array{'abc', 'def', 'ghi'} + Text.redraw_all(Editor_state) + Editor_state.cursor1 = {line=1, pos=3} + Editor_state.screen_top1 = {line=1, pos=1} + edit.draw(Editor_state) + -- search for empty string + edit.run_after_keychord(Editor_state, 'C-f', 'f') + edit.run_after_keychord(Editor_state, 'down', 'down') + -- no crash +end |