summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-28 22:21:12 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-28 22:21:12 +0000
commit28a896f54d4b2f2b4bef8ef4144dde1673c9d6e7 (patch)
tree18e049c8ca2444545334b55a80032d259bed3e0a /src/testdir
parentc13e998d4a82e2c90efb4bbc1dd4ea2d6c424592 (diff)
patch 9.0.0969: matchparen highlight is not updated when switching buffersv9.0.0969
Problem: Matchparen highlight is not updated when switching buffers. Solution: Listen to the BufLeave and the BufWinEnter autocmd events. (closes #11626)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/dumps/Test_matchparen_clear_highlight_1.dump5
-rw-r--r--src/testdir/dumps/Test_matchparen_clear_highlight_2.dump5
-rw-r--r--src/testdir/test_display.vim31
3 files changed, 41 insertions, 0 deletions
diff --git a/src/testdir/dumps/Test_matchparen_clear_highlight_1.dump b/src/testdir/dumps/Test_matchparen_clear_highlight_1.dump
new file mode 100644
index 0000000000..1a962750d7
--- /dev/null
+++ b/src/testdir/dumps/Test_matchparen_clear_highlight_1.dump
@@ -0,0 +1,5 @@
+>(+0&#40ffff15|)| +0&#ffffff0@72
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_matchparen_clear_highlight_2.dump b/src/testdir/dumps/Test_matchparen_clear_highlight_2.dump
new file mode 100644
index 0000000000..c3f93fab20
--- /dev/null
+++ b/src/testdir/dumps/Test_matchparen_clear_highlight_2.dump
@@ -0,0 +1,5 @@
+>a+0&#ffffff0@1| @72
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim
index 4364f03fb2..abf1cd0cd0 100644
--- a/src/testdir/test_display.vim
+++ b/src/testdir/test_display.vim
@@ -237,6 +237,37 @@ func Test_visual_block_scroll()
call StopVimInTerminal(buf)
endfunc
+" Test for clearing paren highlight when switching buffers
+func Test_matchparen_clear_highlight()
+ CheckScreendump
+
+ let lines =<< trim END
+ source $VIMRUNTIME/plugin/matchparen.vim
+ set hidden
+ call setline(1, ['()'])
+ normal 0
+
+ func OtherBuffer()
+ enew
+ exe "normal iaa\<Esc>0"
+ endfunc
+ END
+ call writefile(lines, 'XMatchparenClear', 'D')
+ let buf = RunVimInTerminal('-S XMatchparenClear', #{rows: 5})
+ call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_1', {})
+
+ call term_sendkeys(buf, ":call OtherBuffer()\<CR>:\<Esc>")
+ call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_2', {})
+
+ call term_sendkeys(buf, "\<C-^>:\<Esc>")
+ call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_1', {})
+
+ call term_sendkeys(buf, "\<C-^>:\<Esc>")
+ call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_2', {})
+
+ call StopVimInTerminal(buf)
+endfunc
+
func Test_display_scroll_at_topline()
CheckScreendump