]> granicus.if.org Git - vim/commitdiff
patch 8.1.1980: fix for search stat not tested v8.1.1980
authorBram Moolenaar <Bram@vim.org>
Wed, 4 Sep 2019 14:32:36 +0000 (16:32 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 4 Sep 2019 14:32:36 +0000 (16:32 +0200)
Problem:    Fix for search stat not tested.
Solution:   Add a screenshot test. (Christian Brabandt)

src/testdir/dumps/Test_searchstat_1.dump [new file with mode: 0644]
src/testdir/dumps/Test_searchstat_2.dump [new file with mode: 0644]
src/testdir/test_search_stat.vim
src/version.c

diff --git a/src/testdir/dumps/Test_searchstat_1.dump b/src/testdir/dumps/Test_searchstat_1.dump
new file mode 100644 (file)
index 0000000..52b13f2
--- /dev/null
@@ -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 (file)
index 0000000..a6ced4f
--- /dev/null
@@ -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| 
index d5d50ff1d79e1471f2064f8f96b2aa751baca46f..57997289d71e45a124057aa6fbeee03533ccc663 100644 (file)
@@ -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 <silent> n n\<cr>")
+  call term_sendkeys(buf, "gg0n")
+  call term_wait(buf)
+  call VerifyScreenDump(buf, 'Test_searchstat_2', {})
+
+  call StopVimInTerminal(buf)
+  call delete('Xsearchstat')
+endfunc
index a2b6ed2016ac8e0e8218a077987a53e8beb2a889..1a9b52376d91a958db0072b8038221595c8582d7 100644 (file)
@@ -757,6 +757,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1980,
 /**/
     1979,
 /**/