diff options
author | Sean Dewar <seandewar@users.noreply.github.com> | 2021-08-27 22:07:34 +0100 |
---|---|---|
committer | Sean Dewar <seandewar@users.noreply.github.com> | 2021-10-03 20:06:31 +0100 |
commit | 0193b3a3917d426bb5798759c3629e9d4f3eb7a8 (patch) | |
tree | 3721a9f4d87834c5a63e3004e64d002650a41348 | |
parent | 7ba11e06c0663ac12f110132d86cd463a7937a57 (diff) | |
download | rneovim-0193b3a3917d426bb5798759c3629e9d4f3eb7a8.tar.gz rneovim-0193b3a3917d426bb5798759c3629e9d4f3eb7a8.tar.bz2 rneovim-0193b3a3917d426bb5798759c3629e9d4f3eb7a8.zip |
vim-patch:8.1.1336: some eval functionality is not covered by tests
Problem: Some eval functionality is not covered by tests.
Solution: Add a few more test cases. (Masato Nishihata, closes vim/vim#4374)
https://github.com/vim/vim/commit/17aca707f92235b6f962e637e8073162d18e6de2
Test_expand() changes are required for v8.1.1921.
Test_call() and Test_cindent_func() are already ported.
-rw-r--r-- | src/nvim/testdir/test_bufline.vim | 6 | ||||
-rw-r--r-- | src/nvim/testdir/test_cursor_func.vim | 6 | ||||
-rw-r--r-- | src/nvim/testdir/test_expand_func.vim | 9 | ||||
-rw-r--r-- | src/nvim/testdir/test_float_func.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_functions.vim | 12 | ||||
-rw-r--r-- | test/functional/legacy/delete_spec.lua | 7 | ||||
-rw-r--r-- | test/functional/legacy/fnamemodify_spec.lua | 11 |
7 files changed, 40 insertions, 12 deletions
diff --git a/src/nvim/testdir/test_bufline.vim b/src/nvim/testdir/test_bufline.vim index b4e8a0bc71..52a60b7b85 100644 --- a/src/nvim/testdir/test_bufline.vim +++ b/src/nvim/testdir/test_bufline.vim @@ -9,7 +9,7 @@ func Test_setbufline_getbufline() hide call assert_equal(0, setbufline(b, 1, ['foo', 'bar'])) call assert_equal(['foo'], getbufline(b, 1)) - call assert_equal(['bar'], getbufline(b, 2)) + call assert_equal(['bar'], getbufline(b, '$')) call assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) exe "bd!" b call assert_equal([], getbufline(b, 1, 2)) @@ -82,6 +82,7 @@ func Test_appendbufline() call setline(1, ['a', 'b', 'c']) let b = bufnr('%') wincmd w + call assert_equal(1, appendbufline(b, -1, ['x'])) call assert_equal(1, appendbufline(b, 4, ['x'])) call assert_equal(1, appendbufline(1234, 1, ['x'])) call assert_equal(0, appendbufline(b, 3, ['d', 'e'])) @@ -104,8 +105,11 @@ func Test_deletebufline() exe "bd!" b call assert_equal(1, b->deletebufline(1)) + call assert_equal(1, deletebufline(-1, 1)) + split Xtest call setline(1, ['a', 'b', 'c']) + call cursor(line('$'), 1) let b = bufnr('%') wincmd w call assert_equal(1, deletebufline(b, 4)) diff --git a/src/nvim/testdir/test_cursor_func.vim b/src/nvim/testdir/test_cursor_func.vim index 53b7da517e..46847e0663 100644 --- a/src/nvim/testdir/test_cursor_func.vim +++ b/src/nvim/testdir/test_cursor_func.vim @@ -25,6 +25,12 @@ func Test_move_cursor() call cursor(9, 1) call assert_equal([4, 1, 0, 1], getcurpos()[1:]) + call setline(1, ["\<TAB>"]) + call cursor(1, 1, 1) + call assert_equal([1, 1, 1], getcurpos()[1:3]) + + call assert_equal(-1, cursor(-1, -1)) + quit! endfunc diff --git a/src/nvim/testdir/test_expand_func.vim b/src/nvim/testdir/test_expand_func.vim index 9588d3b89d..4d9e89fe3e 100644 --- a/src/nvim/testdir/test_expand_func.vim +++ b/src/nvim/testdir/test_expand_func.vim @@ -37,6 +37,15 @@ func Test_expand_sflnum() delcommand Flnum endfunc +func Test_expand() + new + call assert_equal("", expand('%:S')) + call assert_equal('3', expand('<slnum>')) + call assert_equal(['4'], expand('<slnum>', v:false, v:true)) + " Don't add any line above this, otherwise <slnum> will change. + quit +endfunc + func Test_expand_sfile() call assert_match('test_expand_func\.vim$', s:sfile) call assert_match('^function .*\.\.Test_expand_sfile$', expand('<sfile>')) diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim index 78675d7016..1e0c75c49d 100644 --- a/src/nvim/testdir/test_float_func.vim +++ b/src/nvim/testdir/test_float_func.vim @@ -15,6 +15,7 @@ func Test_abs() call assert_equal("str2float('inf')", string(abs(1.0/0.0))) call assert_equal("str2float('inf')", string(abs(-1.0/0.0))) call assert_equal("str2float('nan')", string(abs(0.0/0.0))) + call assert_equal('12', string(abs('12abc'))) call assert_equal('12', string(abs('-12abc'))) call assert_fails("call abs([])", 'E745:') call assert_fails("call abs({})", 'E728:') diff --git a/src/nvim/testdir/test_functions.vim b/src/nvim/testdir/test_functions.vim index 366615821c..9268a13d4e 100644 --- a/src/nvim/testdir/test_functions.vim +++ b/src/nvim/testdir/test_functions.vim @@ -56,6 +56,7 @@ func Test_empty() endif call assert_equal(0, empty(function('Test_empty'))) + call assert_equal(0, empty(function('Test_empty', [0]))) endfunc func Test_len() @@ -999,6 +1000,7 @@ func Test_count() call assert_equal(1, count(l, 'a', 0, 1)) call assert_equal(2, count(l, 'a', 1, 1)) call assert_fails('call count(l, "a", 0, 10)', 'E684:') + call assert_fails('call count(l, "a", [])', 'E745:') let d = {1: 'a', 2: 'a', 3: 'A', 4: 'b'} call assert_equal(2, count(d, 'a')) @@ -1026,6 +1028,8 @@ func Test_count() call assert_equal(2, count("foo", "O", 1)) call assert_equal(2, count("fooooo", "oo")) call assert_equal(0, count("foo", "")) + + call assert_fails('call count(0, 0)', 'E712:') endfunc func Test_changenr() @@ -1589,6 +1593,14 @@ func Test_call() call assert_fails("call call('Mylen', [], 0)", 'E715:') endfunc +func Test_char2nr() + call assert_equal(12354, char2nr('あ', 1)) +endfunc + +func Test_eventhandler() + call assert_equal(0, eventhandler()) +endfunc + " Test for the eval() function func Test_eval() call assert_fails("call eval('5 a')", 'E488:') diff --git a/test/functional/legacy/delete_spec.lua b/test/functional/legacy/delete_spec.lua index f2ced8942d..b4ed8ff136 100644 --- a/test/functional/legacy/delete_spec.lua +++ b/test/functional/legacy/delete_spec.lua @@ -1,6 +1,7 @@ local helpers = require('test.functional.helpers')(after_each) local clear, source = helpers.clear, helpers.source local eq, eval, command = helpers.eq, helpers.eval, helpers.command +local exc_exec = helpers.exc_exec describe('Test for delete()', function() before_each(clear) @@ -114,4 +115,10 @@ describe('Test for delete()', function() eq(0, eval("delete('Xdir4/Xfile')")) eq(0, eval("delete('Xdir4', 'd')")) end) + + it('gives correct emsgs', function() + eq('Vim(call):E474: Invalid argument', exc_exec("call delete('')")) + eq('Vim(call):E15: Invalid expression: 0', + exc_exec("call delete('foo', 0)")) + end) end) diff --git a/test/functional/legacy/fnamemodify_spec.lua b/test/functional/legacy/fnamemodify_spec.lua index 7e859bf0cf..6a5538c26f 100644 --- a/test/functional/legacy/fnamemodify_spec.lua +++ b/test/functional/legacy/fnamemodify_spec.lua @@ -60,12 +60,6 @@ describe('filename modifiers', function() call assert_equal("'abc\\\ndef'", fnamemodify("abc\ndef", ':S')) endif endfunc - - func Test_expand() - new - call assert_equal("", expand('%:S')) - quit - endfunc ]=]) end) @@ -73,9 +67,4 @@ describe('filename modifiers', function() call('Test_fnamemodify') expected_empty() end) - - it('works for :S in an unnamed buffer', function() - call('Test_expand') - expected_empty() - end) end) |