aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorMichael Ennen <mike.ennen@gmail.com>2016-12-06 17:12:08 -0700
committerMichael Ennen <mike.ennen@gmail.com>2016-12-06 17:12:08 -0700
commit0064e9738aec725b9cf4b29f425b0da7ecc8fd46 (patch)
treed0b8cb81b4cd1b573abb301f99a9c626127b6cba /src/nvim/testdir
parent629e788b3689698f8cd96a71b0d5421d7456e770 (diff)
downloadrneovim-0064e9738aec725b9cf4b29f425b0da7ecc8fd46.tar.gz
rneovim-0064e9738aec725b9cf4b29f425b0da7ecc8fd46.tar.bz2
rneovim-0064e9738aec725b9cf4b29f425b0da7ecc8fd46.zip
vim-patch:7.4.2217
Problem: When using matchaddpos() a character after the end of the line can be highlighted. Solution: Only highlight existing characters. (Hirohito Higashi) https://github.com/vim/vim/commit/4f416e41243ca151b95d39d81ce23d00b1484755
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_match.vim26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_match.vim b/src/nvim/testdir/test_match.vim
index 57dde19bab..67f3ea7373 100644
--- a/src/nvim/testdir/test_match.vim
+++ b/src/nvim/testdir/test_match.vim
@@ -1,7 +1,7 @@
" Test for :match, :2match, :3match, clearmatches(), getmatches(), matchadd(),
" matchaddpos(), matcharg(), matchdelete(), matchstrpos() and setmatches().
-function Test_matcharg()
+function Test_match()
highlight MyGroup1 term=bold ctermbg=red guibg=red
highlight MyGroup2 term=italic ctermbg=green guibg=green
highlight MyGroup3 term=underline ctermbg=blue guibg=blue
@@ -162,4 +162,28 @@ func Test_matchstrpos()
call assert_equal(['', -1, -1, -1], matchstrpos(['vim', 'testing', 'execute'], 'img'))
endfunc
+func Test_matchaddpos()
+ syntax on
+ set hlsearch
+
+ call setline(1, ['12345', 'NP'])
+ call matchaddpos('Error', [[1,2], [1,6], [2,2]])
+ redraw!
+ call assert_notequal(screenattr(2,2), 0)
+ call assert_equal(screenattr(2,2), screenattr(1,2))
+ call assert_notequal(screenattr(2,2), screenattr(1,6))
+ 1
+ call matchadd('Search', 'N\|\n')
+ redraw!
+ call assert_notequal(screenattr(2,1), 0)
+ call assert_equal(screenattr(2,1), screenattr(1,6))
+ exec "norm! i0\<Esc>"
+ redraw!
+ call assert_equal(screenattr(2,2), screenattr(1,6))
+
+ nohl
+ syntax off
+ set hlsearch&
+endfunc
+
" vim: et ts=2 sw=2