diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-04-27 22:18:12 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-04-27 22:18:12 +0200 |
commit | 9d34d90210ba52ebaf45973282e5921f5af364c7 (patch) | |
tree | b3a56a49f0ce1d83dbb39c053edc8d642bb7f62d /src/testdir | |
parent | c3c3e698966fac86dee94799b70947defb85440d (diff) | |
download | vim-9d34d90210ba52ebaf45973282e5921f5af364c7.zip |
patch 8.0.1767: with 'incsearch' text may jump up and down
Problem: With 'incsearch' text may jump up and down. ()
Solution: Besides w_botline also save and restore w_empty_rows.
(closes # 2530)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/dumps/Test_incsearch_scrolling_01.dump | 9 | ||||
-rw-r--r-- | src/testdir/test_search.vim | 31 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/testdir/dumps/Test_incsearch_scrolling_01.dump b/src/testdir/dumps/Test_incsearch_scrolling_01.dump new file mode 100644 index 000000000..c133d5f51 --- /dev/null +++ b/src/testdir/dumps/Test_incsearch_scrolling_01.dump @@ -0,0 +1,9 @@ +|.+0&#ffffff0@69 +@50| @19 +|.@69 +@50| @19 +@70 +|t+1&&|a|r|g|e+0&&|t| @63 +|@+0#4040ff13&@2| @66 +|/+0#0000000&|t|a|r|g> @64 +@70 diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim index 130562fc5..93a03434c 100644 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -1,6 +1,7 @@ " Test for the search command source shared.vim +source screendump.vim func Test_search_cmdline() if !exists('+incsearch') @@ -690,6 +691,36 @@ func Test_search_cmdline_incsearch_highlight_attr() bwipe! endfunc +func Test_incsearch_scrolling() + if !CanRunVimInTerminal() + return + endif + call assert_equal(0, &scrolloff) + call writefile([ + \ 'let dots = repeat(".", 120)', + \ 'set incsearch cmdheight=2 scrolloff=0', + \ 'call setline(1, [dots, dots, dots, "", "target", dots, dots])', + \ 'normal gg', + \ 'redraw', + \ ], 'Xscript') + let buf = RunVimInTerminal('-S Xscript', {'rows': 9, 'cols': 70}) + " Need to send one key at a time to force a redraw + call term_sendkeys(buf, '/') + sleep 100m + call term_sendkeys(buf, 't') + sleep 100m + call term_sendkeys(buf, 'a') + sleep 100m + call term_sendkeys(buf, 'r') + sleep 100m + call term_sendkeys(buf, 'g') + call VerifyScreenDump(buf, 'Test_incsearch_scrolling_01', {}) + + call term_sendkeys(buf, "\<Esc>") + call StopVimInTerminal(buf) + call delete('Xscript') +endfunc + func Test_search_undefined_behaviour() if !has("terminal") return |