diff options
Diffstat (limited to 'text_tests.lua')
-rw-r--r-- | text_tests.lua | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/text_tests.lua b/text_tests.lua index 4e3cd2c..a8e75f3 100644 --- a/text_tests.lua +++ b/text_tests.lua @@ -1965,3 +1965,36 @@ function test_undo_restores_selection() check_eq(Editor_state.selection1.line, 1, 'F - test_undo_restores_selection/line') check_eq(Editor_state.selection1.pos, 2, 'F - test_undo_restores_selection/pos') end + +function test_search() + io.write('\ntest_search') + App.screen.init{width=120, height=60} + Editor_state = edit.initialize_test_state() + Editor_state.lines = load_array{'abc', 'def', 'ghi', 'deg'} + Text.redraw_all(Editor_state) + Editor_state.cursor1 = {line=1, pos=1} + Editor_state.screen_top1 = {line=1, pos=1} + Editor_state.screen_bottom1 = {} + edit.draw(Editor_state) + local y = Editor_state.top + App.screen.check(y, 'abc', 'F - test_search/baseline/screen:1') + y = y + Editor_state.line_height + App.screen.check(y, 'def', 'F - test_search/baseline/screen:2') + y = y + Editor_state.line_height + App.screen.check(y, 'ghi', 'F - test_search/baseline/screen:3') + -- search for a string + edit.run_after_keychord(Editor_state, 'C-f') + edit.run_after_textinput(Editor_state, 'd') + edit.run_after_keychord(Editor_state, 'return') + check_eq(Editor_state.cursor1.line, 2, 'F - test_search/1/cursor:line') + check_eq(Editor_state.cursor1.pos, 1, 'F - test_search/1/cursor:pos') + -- reset cursor + Editor_state.cursor1 = {line=1, pos=1} + -- search for second occurrence + edit.run_after_keychord(Editor_state, 'C-f') + edit.run_after_textinput(Editor_state, 'de') + edit.run_after_keychord(Editor_state, 'down') + edit.run_after_keychord(Editor_state, 'return') + check_eq(Editor_state.cursor1.line, 4, 'F - test_search/2/cursor:line') + check_eq(Editor_state.cursor1.pos, 1, 'F - test_search/2/cursor:pos') +end |