diff options
| author | erw7 <erw7.github@gmail.com> | 2019-08-25 13:45:45 +0900 |
|---|---|---|
| committer | erw7 <erw7.github@gmail.com> | 2019-09-04 13:40:04 +0900 |
| commit | a2e48b556b7537acd26353b6cc201410be7cf3dc (patch) | |
| tree | 8608753784910578b9772905f9545bf45c282361 /src/nvim/testdir | |
| parent | 38806f23edfcba8cb7f7b80039d268ae3ffb0557 (diff) | |
| download | rneovim-a2e48b556b7537acd26353b6cc201410be7cf3dc.tar.gz rneovim-a2e48b556b7537acd26353b6cc201410be7cf3dc.tar.bz2 rneovim-a2e48b556b7537acd26353b6cc201410be7cf3dc.zip | |
vim-patch:8.1.0362: cannot get the script line number when executing a function
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes vim/vim#3362) Also display the line number with ":verbose set".
https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
| -rw-r--r-- | src/nvim/testdir/test_expand_func.vim | 66 | ||||
| -rw-r--r-- | src/nvim/testdir/test_maparg.vim | 19 |
3 files changed, 80 insertions, 6 deletions
diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index 30e29bd05d..6bf2e8329c 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -11,6 +11,7 @@ source test_ex_equal.vim source test_ex_undo.vim source test_ex_z.vim source test_execute_func.vim +source test_expand_func.vim source test_expr.vim source test_feedkeys.vim source test_filter_cmd.vim diff --git a/src/nvim/testdir/test_expand_func.vim b/src/nvim/testdir/test_expand_func.vim new file mode 100644 index 0000000000..fb29c3eb7a --- /dev/null +++ b/src/nvim/testdir/test_expand_func.vim @@ -0,0 +1,66 @@ +" Tests for expand() + +let s:sfile = expand('<sfile>') +let s:slnum = str2nr(expand('<slnum>')) +let s:sflnum = str2nr(expand('<sflnum>')) + +func s:expand_sfile() + return expand('<sfile>') +endfunc + +func s:expand_slnum() + return str2nr(expand('<slnum>')) +endfunc + +func s:expand_sflnum() + return str2nr(expand('<sflnum>')) +endfunc + +func Test_expand_sfile() + call assert_match('test_expand_func\.vim$', s:sfile) + call assert_match('^function .*\.\.Test_expand_sfile$', expand('<sfile>')) + + " Call in script-local function + call assert_match('^function .*\.\.Test_expand_sfile\[5\]\.\.<SNR>\d\+_expand_sfile$', s:expand_sfile()) + + " Call in command + command Sfile echo expand('<sfile>') + call assert_match('^function .*\.\.Test_expand_sfile$', trim(execute('Sfile'))) + delcommand Sfile +endfunc + +func Test_expand_slnum() + call assert_equal(4, s:slnum) + call assert_equal(2, str2nr(expand('<slnum>'))) + + " Line-continuation + call assert_equal( + \ 5, + \ str2nr(expand('<slnum>'))) + + " Call in script-local function + call assert_equal(1, s:expand_slnum()) + + " Call in command + command Slnum echo expand('<slnum>') + call assert_equal(14, str2nr(trim(execute('Slnum')))) + delcommand Slnum +endfunc + +func Test_expand_sflnum() + call assert_equal(5, s:sflnum) + call assert_equal(52, str2nr(expand('<sflnum>'))) + + " Line-continuation + call assert_equal( + \ 55, + \ str2nr(expand('<sflnum>'))) + + " Call in script-local function + call assert_equal(16, s:expand_sflnum()) + + " Call in command + command Flnum echo expand('<sflnum>') + call assert_equal(64, str2nr(trim(execute('Flnum')))) + delcommand Flnum +endfunc diff --git a/src/nvim/testdir/test_maparg.vim b/src/nvim/testdir/test_maparg.vim index 6324e39eec..0b941d51ec 100644 --- a/src/nvim/testdir/test_maparg.vim +++ b/src/nvim/testdir/test_maparg.vim @@ -10,23 +10,30 @@ function Test_maparg() set cpo-=< set encoding=utf8 " Test maparg() with a string result + let sid = s:SID() + let lnum = expand('<sflnum>') map foo<C-V> is<F4>foo vnoremap <script> <buffer> <expr> <silent> bar isbar - let sid = s:SID() call assert_equal("is<F4>foo", maparg('foo<C-V>')) call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', - \ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'rhs': 'is<F4>foo', - \ 'buffer': 0}, maparg('foo<C-V>', '', 0, 1)) + \ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'lnum': lnum + 1, + \ 'rhs': 'is<F4>foo', 'buffer': 0}, + \ maparg('foo<C-V>', '', 0, 1)) call assert_equal({'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', - \ 'nowait': 0, 'expr': 1, 'sid': sid, 'rhs': 'isbar', 'buffer': 1}, + \ 'nowait': 0, 'expr': 1, 'sid': sid, 'lnum': lnum + 2, + \ 'rhs': 'isbar', 'buffer': 1}, \ maparg('bar', '', 0, 1)) + let lnum = expand('<sflnum>') map <buffer> <nowait> foo bar call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', - \ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1}, + \ 'nowait': 1, 'expr': 0, 'sid': sid, 'lnum': lnum + 1, 'rhs': 'bar', + \ 'buffer': 1}, \ maparg('foo', '', 0, 1)) + let lnum = expand('<sflnum>') tmap baz foo call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'baz', 'mode': 't', - \ 'nowait': 0, 'expr': 0, 'sid': sid, 'rhs': 'foo', 'buffer': 0}, + \ 'nowait': 0, 'expr': 0, 'sid': sid, 'lnum': lnum + 1, 'rhs': 'foo', + \ 'buffer': 0}, \ maparg('baz', 't', 0, 1)) map abc x<char-114>x |