aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-05-07 07:57:29 +0800
committerGitHub <noreply@github.com>2023-05-07 07:57:29 +0800
commit9e34aa76c132b5637ed2f2dafa4487f4c850bf35 (patch)
tree263b1f59a368577352fd809f4bfb021acec4b176 /test
parente218965338ad8020935a10e678d2a7c6a059ee43 (diff)
downloadrneovim-9e34aa76c132b5637ed2f2dafa4487f4c850bf35.tar.gz
rneovim-9e34aa76c132b5637ed2f2dafa4487f4c850bf35.tar.bz2
rneovim-9e34aa76c132b5637ed2f2dafa4487f4c850bf35.zip
vim-patch:9.0.1518: search stats not always visible when searching backwards (#23517)
Problem: Search stats not always visible when searching backwards. Solution: Do not display the top/bot message on top of the search stats. (Christian Brabandt, closes vim/vim#12322, closes vim/vim#12222) https://github.com/vim/vim/commit/34a6a3617b5b6ce11372439f14762caddc4b0cea Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'test')
-rw-r--r--test/functional/legacy/search_stat_spec.lua56
-rw-r--r--test/old/testdir/test_search_stat.vim33
2 files changed, 84 insertions, 5 deletions
diff --git a/test/functional/legacy/search_stat_spec.lua b/test/functional/legacy/search_stat_spec.lua
index 06e0b2320a..bd5ab68e5c 100644
--- a/test/functional/legacy/search_stat_spec.lua
+++ b/test/functional/legacy/search_stat_spec.lua
@@ -10,8 +10,9 @@ describe('search stat', function()
screen:set_default_attr_ids({
[1] = {bold = true, foreground = Screen.colors.Blue}, -- NonText
[2] = {background = Screen.colors.Yellow}, -- Search
- [3] = {foreground = Screen.colors.Blue4, background = Screen.colors.LightGrey}, -- Folded
+ [3] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey}, -- Folded
[4] = {reverse = true}, -- IncSearch, TabLineFill
+ [5] = {foreground = Screen.colors.Red}, -- WarningMsg
})
screen:attach()
end)
@@ -183,4 +184,57 @@ describe('search stat', function()
/abc^ |
]])
end)
+
+ -- oldtest: Test_search_stat_backwards()
+ it('when searching backwards', function()
+ screen:try_resize(60, 10)
+ exec([[
+ set shm-=S
+ call setline(1, ['test', ''])
+ ]])
+
+ feed('*')
+ screen:expect([[
+ {2:^test} |
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ /\<test\> [1/1] |
+ ]])
+
+ feed('N')
+ screen:expect([[
+ {2:^test} |
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ ?\<test\> [1/1] |
+ ]])
+
+ command('set shm+=S')
+ feed('N')
+ -- shows "Search Hit Bottom.."
+ screen:expect([[
+ {2:^test} |
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {5:search hit TOP, continuing at BOTTOM} |
+ ]])
+ end)
end)
diff --git a/test/old/testdir/test_search_stat.vim b/test/old/testdir/test_search_stat.vim
index 8dfc850956..e7dc71e302 100644
--- a/test/old/testdir/test_search_stat.vim
+++ b/test/old/testdir/test_search_stat.vim
@@ -153,7 +153,6 @@ func Test_search_stat()
let g:a = execute(':unsilent :norm! n')
let stat = 'W \[20/1\]'
call assert_match(pat .. stat, g:a)
- call assert_match('search hit BOTTOM, continuing at TOP', g:a)
set norl
endif
@@ -164,7 +163,6 @@ func Test_search_stat()
let g:a = execute(':unsilent :norm! N')
let stat = 'W \[20/20\]'
call assert_match(pat .. stat, g:a)
- call assert_match('search hit TOP, continuing at BOTTOM', g:a)
call assert_match('W \[20/20\]', Screenline(&lines))
" normal, no match
@@ -422,7 +420,7 @@ func Test_search_stat_and_incsearch()
set tabline=%!MyTabLine()
END
- call writefile(lines, 'Xsearchstat_inc')
+ call writefile(lines, 'Xsearchstat_inc', 'D')
let buf = RunVimInTerminal('-S Xsearchstat_inc', #{rows: 10})
call term_sendkeys(buf, "/abc")
@@ -441,8 +439,35 @@ func Test_search_stat_and_incsearch()
call TermWait(buf)
call StopVimInTerminal(buf)
- call delete('Xsearchstat_inc')
endfunc
+func Test_search_stat_backwards()
+ CheckScreendump
+
+ let lines =<< trim END
+ set shm-=S
+ call setline(1, ['test', ''])
+ END
+ call writefile(lines, 'Xsearchstat_back', 'D')
+
+ let buf = RunVimInTerminal('-S Xsearchstat_back', #{rows: 10})
+ call term_sendkeys(buf, "*")
+ call TermWait(buf)
+ call VerifyScreenDump(buf, 'Test_searchstat_back_1', {})
+
+ call term_sendkeys(buf, "N")
+ call TermWait(buf)
+ call VerifyScreenDump(buf, 'Test_searchstat_back_2', {})
+
+ call term_sendkeys(buf, ":set shm+=S\<cr>N")
+ call TermWait(buf)
+ " shows "Search Hit Bottom.."
+ call VerifyScreenDump(buf, 'Test_searchstat_back_3', {})
+
+ call term_sendkeys(buf, "\<esc>:qa\<cr>")
+ call TermWait(buf)
+
+ call StopVimInTerminal(buf)
+endfunc
" vim: shiftwidth=2 sts=2 expandtab