Wednesday, September 4, 2019

Re: Mapping erases search count message

From b6f44bc8cef68df3baf291ed6957eb3a61b50412 Mon Sep 17 00:00:00 2001
From: Christian Brabandt <cb@256bit.org>
Date: Wed, 4 Sep 2019 13:54:09 +0200
Subject: [PATCH] Add screendump test

---
src/testdir/dumps/Test_searchstat_1.dump | 10 +++++++
src/testdir/dumps/Test_searchstat_2.dump | 10 +++++++
src/testdir/test_search_stat.vim | 35 ++++++++++++++++++++----
3 files changed, 50 insertions(+), 5 deletions(-)
create mode 100644 src/testdir/dumps/Test_searchstat_1.dump
create mode 100644 src/testdir/dumps/Test_searchstat_2.dump

diff --git a/src/testdir/dumps/Test_searchstat_1.dump b/src/testdir/dumps/Test_searchstat_1.dump
new file mode 100644
index 000000000..52b13f2dc
--- /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
index 000000000..a6ced4fd0
--- /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
index d5d50ff1d..9290c2f87 100644
--- a/src/testdir/test_search_stat.vim
+++ b/src/testdir/test_search_stat.vim
@@ -1,9 +1,7 @@
" 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()
new
@@ -181,7 +179,34 @@ func! Test_search_stat()

" 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('XscriptMatchCommon')
+endfunc
--
2.20.1

On Mi, 04 Sep 2019, Bram Moolenaar wrote:

> Hmm, since nobody runs the tests manually that doesn't help much.
> How about using a screendump? That makes these things a lot easier to
> write.

Okay, how about the attached patch then? That fails with v8.1.1965 and
should work with v8.1.1970

Best,
Christian
--
Sargdeckel fällt - die Witwe kichert, der Bauer war wohl gut versichert.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20190904120126.GQ25942%40256bit.org.

No comments: