# HG changeset patch # User Bram Moolenaar # Date 1567608304 -7200 # Node ID 22ddc0ee65e7b8a3b2d88c4c653da40fa8d93c01 # Parent 58e90151e63f52996549e0a0d0bd96fffc68ab80 patch 8.1.1980: fix for search stat not tested Commit: https://github.com/vim/vim/commit/0f63ed33fdd12d8220f7bc7ff91095e7ceed9985 Author: Bram Moolenaar Date: Wed Sep 4 16:32:36 2019 +0200 patch 8.1.1980: fix for search stat not tested Problem: Fix for search stat not tested. Solution: Add a screenshot test. (Christian Brabandt) diff --git a/src/testdir/dumps/Test_searchstat_1.dump b/src/testdir/dumps/Test_searchstat_1.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_searchstat_1.dump @@ -0,0 +1,10 @@ +|f+0&#ffffff0|o@1|b|a|r| @68 +>f|i|n|d| |t|h|i|s| @65 +|f|o@4|b|a|r| @65 +|f|o|b|a| @70 +|f|o@1|b|a|r| @68 +|f|o@1|b|a|r| @68 +|f|o@1| @71 +|f|o@4|b|a|r| @65 +|f|o|b|a| @70 +|/|f|i|n|d| |t|h|i|s| @29|[|1|/|2|]| @11|2|,|1| @10|T|o|p| diff --git a/src/testdir/dumps/Test_searchstat_2.dump b/src/testdir/dumps/Test_searchstat_2.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_searchstat_2.dump @@ -0,0 +1,10 @@ +|f+0&#ffffff0|o@1|b|a|r| @68 +>f|i|n|d| |t|h|i|s| @65 +|f|o@4|b|a|r| @65 +|f|o|b|a| @70 +|f|o@1|b|a|r| @68 +|f|o@1|b|a|r| @68 +|f|o@1| @71 +|f|o@4|b|a|r| @65 +|f|o|b|a| @70 +@40|[|1|/|2|]| @11|2|,|1| @10|T|o|p| diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim --- a/src/testdir/test_search_stat.vim +++ b/src/testdir/test_search_stat.vim @@ -1,11 +1,9 @@ " Tests for search_stats, when "S" is not in 'shortmess' -" -" This test is fragile, it might not work interactively, but it works when run -" as test! -source shared.vim +source check.vim +source screendump.vim -func! Test_search_stat() +func Test_search_stat() new set shortmess-=S " Append 50 lines with text to search for, "foobar" appears 20 times @@ -177,11 +175,41 @@ func! Test_search_stat() let stat = '\[1/2\]' call assert_notmatch(pat .. stat, g:b) call assert_match(stat, g:b) + " Test that the message is not truncated + " it would insert '...' into the output. + call assert_match('^\s\+' .. stat, g:b) unmap n " Clean up set shortmess+=S - " close the window bwipe! endfunc + +func! Test_search_stat_screendump() + CheckScreendump + + let lines =<< trim END + set shortmess-=S + " Append 50 lines with text to search for, "foobar" appears 20 times + call append(0, repeat(['foobar', 'foo', 'fooooobar', 'foba', 'foobar'], 20)) + call setline(2, 'find this') + call setline(70, 'find this') + nnoremap n n + let @/ = 'find this' + call cursor(1,1) + norm n + END + call writefile(lines, 'Xsearchstat') + let buf = RunVimInTerminal('-S Xsearchstat', #{rows: 10}) + call term_wait(buf) + call VerifyScreenDump(buf, 'Test_searchstat_1', {}) + + call term_sendkeys(buf, ":nnoremap n n\") + call term_sendkeys(buf, "gg0n") + call term_wait(buf) + call VerifyScreenDump(buf, 'Test_searchstat_2', {}) + + call StopVimInTerminal(buf) + call delete('Xsearchstat') +endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1980, +/**/ 1979, /**/ 1978,