aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_signs.vim
diff options
context:
space:
mode:
authorAndrej Zieger <jerdna-regeiz@users.noreply.github.com>2019-05-20 13:12:30 +0200
committerAndrej Zieger <jerdna-regeiz@users.noreply.github.com>2019-05-26 19:32:32 +0200
commitfa07cc215d6c7e86e3b4b7a83d856c017a655933 (patch)
tree74956d62a3d6a88a7b9b0dae02e6794992d9edaa /src/nvim/testdir/test_signs.vim
parente09f3baed8abc5fb821fb9b6226ad232d8e2f4c7 (diff)
downloadrneovim-fa07cc215d6c7e86e3b4b7a83d856c017a655933.tar.gz
rneovim-fa07cc215d6c7e86e3b4b7a83d856c017a655933.tar.bz2
rneovim-fa07cc215d6c7e86e3b4b7a83d856c017a655933.zip
vim-patch:8.1.0717: there is no function for the ":sign jump" command
Problem: There is no function for the ":sign jump" command. Solution: Add the sign_jump() function. (Yegappan Lakshmanan, closes vim/vim#3780) https://github.com/vim/vim/commit/6b7b7190aa9e5c4f51bceaebf9275aa5097cfea1
Diffstat (limited to 'src/nvim/testdir/test_signs.vim')
-rw-r--r--src/nvim/testdir/test_signs.vim45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_signs.vim b/src/nvim/testdir/test_signs.vim
index 96f60a2ac8..3d6990f136 100644
--- a/src/nvim/testdir/test_signs.vim
+++ b/src/nvim/testdir/test_signs.vim
@@ -1255,3 +1255,48 @@ func Test_sign_change_type()
sign undefine sign2
enew!
endfunc
+
+" Test for the sign_jump() function
+func Test_sign_jump_func()
+ enew! | only!
+
+ sign define sign1 text=#> linehl=Comment
+
+ edit foo
+ set buftype=nofile
+ call setline(1, ['A', 'B', 'C', 'D', 'E'])
+ call sign_place(5, '', 'sign1', '', {'lnum' : 2})
+ call sign_place(5, 'g1', 'sign1', '', {'lnum' : 3})
+ call sign_place(6, '', 'sign1', '', {'lnum' : 4})
+ call sign_place(6, 'g1', 'sign1', '', {'lnum' : 5})
+ split bar
+ set buftype=nofile
+ call setline(1, ['P', 'Q', 'R', 'S', 'T'])
+ call sign_place(5, '', 'sign1', '', {'lnum' : 2})
+ call sign_place(5, 'g1', 'sign1', '', {'lnum' : 3})
+ call sign_place(6, '', 'sign1', '', {'lnum' : 4})
+ call sign_place(6, 'g1', 'sign1', '', {'lnum' : 5})
+
+ let r = sign_jump(5, '', 'foo')
+ call assert_equal(2, r)
+ call assert_equal(2, line('.'))
+ let r = sign_jump(6, 'g1', 'foo')
+ call assert_equal(5, r)
+ call assert_equal(5, line('.'))
+ let r = sign_jump(5, '', 'bar')
+ call assert_equal(2, r)
+ call assert_equal(2, line('.'))
+
+ " Error cases
+ call assert_fails("call sign_jump(99, '', 'bar')", 'E157:')
+ call assert_fails("call sign_jump(0, '', 'foo')", 'E474:')
+ call assert_fails("call sign_jump(5, 'g5', 'foo')", 'E157:')
+ call assert_fails('call sign_jump([], "", "foo")', 'E745:')
+ call assert_fails('call sign_jump(2, [], "foo")', 'E730:')
+ call assert_fails('call sign_jump(2, "", {})', 'E158:')
+ call assert_fails('call sign_jump(2, "", "baz")', 'E158:')
+
+ sign unplace * group=*
+ sign undefine sign1
+ enew! | only!
+endfunc