mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 8.2.0610: some tests are still old style
Problem: Some tests are still old style. Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5957)
This commit is contained in:
@@ -307,6 +307,9 @@ func Test_blob_insert()
|
||||
call assert_fails('call insert(b, -1)', 'E475:')
|
||||
call assert_fails('call insert(b, 257)', 'E475:')
|
||||
call assert_fails('call insert(b, 0, [9])', 'E745:')
|
||||
call assert_fails('call insert(b, 0, -20)', 'E475:')
|
||||
call assert_fails('call insert(b, 0, 20)', 'E475:')
|
||||
call assert_fails('call insert(b, [])', 'E745:')
|
||||
endfunc
|
||||
|
||||
func Test_blob_reverse()
|
||||
|
@@ -115,3 +115,5 @@ func Test_screenpos_number()
|
||||
close
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -27,14 +27,6 @@ endfun
|
||||
execute "silent normal! Go==\n==\e\"".a:1."P"
|
||||
endif
|
||||
endfun
|
||||
:fun ErrExe(str)
|
||||
call append('$', 'Executing '.a:str)
|
||||
try
|
||||
execute a:str
|
||||
catch
|
||||
$put =v:exception
|
||||
endtry
|
||||
endfun
|
||||
:fun Test()
|
||||
$put ='{{{1 Appending NL with setreg()'
|
||||
call setreg('a', 'abcA2', 'c')
|
||||
@@ -109,103 +101,19 @@ else
|
||||
call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard contents']", "clipboard contents\n", "['clipboard contents']")
|
||||
call AppendRegParts('*', 'V', "something else\n", "['something else']", "something else\n", "['something else']")
|
||||
endif
|
||||
$put ='{{{1 Errors'
|
||||
call ErrExe('call setreg()')
|
||||
call ErrExe('call setreg(1)')
|
||||
call ErrExe('call setreg(1, 2, 3, 4)')
|
||||
call ErrExe('call setreg([], 2)')
|
||||
call ErrExe('call setreg(1, {})')
|
||||
call ErrExe('call setreg(1, 2, [])')
|
||||
call ErrExe('call setreg("/", ["1", "2"])')
|
||||
call ErrExe('call setreg("=", ["1", "2"])')
|
||||
call ErrExe('call setreg(1, ["", "", [], ""])')
|
||||
endfun
|
||||
:"
|
||||
:call Test()
|
||||
:"
|
||||
:delfunction SetReg
|
||||
:delfunction AppendRegContents
|
||||
:delfunction ErrExe
|
||||
:delfunction Test
|
||||
:delcommand AR
|
||||
:call garbagecollect(1)
|
||||
:"
|
||||
:" function name not starting with capital
|
||||
:try
|
||||
:func! g:test()
|
||||
:echo "test"
|
||||
:endfunc
|
||||
:catch
|
||||
:$put =v:exception
|
||||
:endtry
|
||||
:"
|
||||
:" function name includes a colon
|
||||
:try
|
||||
:func! b:test()
|
||||
:echo "test"
|
||||
:endfunc
|
||||
:catch
|
||||
:$put =v:exception
|
||||
:endtry
|
||||
:"
|
||||
:" function name folowed by #
|
||||
:try
|
||||
:func! test2() "#
|
||||
:echo "test2"
|
||||
:endfunc
|
||||
:catch
|
||||
:$put =v:exception
|
||||
:endtry
|
||||
:"
|
||||
:" function name starting with/without "g:", buffer-local funcref.
|
||||
:function! g:Foo(n)
|
||||
: $put ='called Foo(' . a:n . ')'
|
||||
:endfunction
|
||||
:let b:my_func = function('Foo')
|
||||
:call b:my_func(1)
|
||||
:echo g:Foo(2)
|
||||
:echo Foo(3)
|
||||
:"
|
||||
:" script-local function used in Funcref must exist.
|
||||
:so test_eval_func.vim
|
||||
:"
|
||||
:" Using $ instead of '$' must give an error
|
||||
:try
|
||||
: call append($, 'foobar')
|
||||
:catch
|
||||
:$put =v:exception
|
||||
:endtry
|
||||
:"
|
||||
:$put ='{{{1 getcurpos/setpos'
|
||||
/^012345678
|
||||
6l:let sp = getcurpos()
|
||||
0:call setpos('.', sp)
|
||||
jyl:$put
|
||||
:"
|
||||
:" substring and variable name
|
||||
:let str = 'abcdef'
|
||||
:let n = 3
|
||||
:$put =str[n:]
|
||||
:$put =str[:n]
|
||||
:$put =str[n:n]
|
||||
:unlet n
|
||||
:let nn = 3
|
||||
:$put =str[nn:]
|
||||
:$put =str[:nn]
|
||||
:$put =str[nn:nn]
|
||||
:unlet nn
|
||||
:let b:nn = 4
|
||||
:$put =str[b:nn:]
|
||||
:$put =str[:b:nn]
|
||||
:$put =str[b:nn:b:nn]
|
||||
:unlet b:nn
|
||||
:"
|
||||
:/^start:/+1,$wq! test.out
|
||||
:" vim: et ts=4 isk-=\: fmr=???,???
|
||||
:call getchar()
|
||||
ENDTEST
|
||||
|
||||
012345678
|
||||
012345678
|
||||
|
||||
start:
|
||||
|
Binary file not shown.
@@ -1,10 +0,0 @@
|
||||
" Vim script used in test_eval.in. Needed for script-local function.
|
||||
|
||||
func s:Testje()
|
||||
return "foo"
|
||||
endfunc
|
||||
let Bar = function('s:Testje')
|
||||
$put ='s:Testje exists: ' . exists('s:Testje')
|
||||
$put ='func s:Testje exists: ' . exists('*s:Testje')
|
||||
$put ='Bar exists: ' . exists('Bar')
|
||||
$put ='func Bar exists: ' . exists('*Bar')
|
@@ -349,7 +349,17 @@ func Test_setreg_basic()
|
||||
call setreg('I', 'abcI')
|
||||
call Assert_reg('I', "v", "abcI", "['abcI']", "abcI", "['abcI']")
|
||||
call Assert_regput('I', ['==', '=abcI='])
|
||||
|
||||
" Error cases
|
||||
call assert_fails('call setreg()', 'E119:')
|
||||
call assert_fails('call setreg(1)', 'E119:')
|
||||
call assert_fails('call setreg(1, 2, 3, 4)', 'E118:')
|
||||
call assert_fails('call setreg([], 2)', 'E730:')
|
||||
call assert_fails('call setreg(1, {})', 'E731:')
|
||||
call assert_fails('call setreg(1, 2, [])', 'E730:')
|
||||
call assert_fails('call setreg("/", ["1", "2"])', 'E883:')
|
||||
call assert_fails('call setreg("=", ["1", "2"])', 'E883:')
|
||||
call assert_fails('call setreg(1, ["", "", [], ""])', 'E730:')
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -44,6 +44,7 @@ func Test_dict()
|
||||
call assert_equal('zero', d[0])
|
||||
call assert_true(has_key(d, ''))
|
||||
call assert_true(has_key(d, 'a'))
|
||||
call assert_fails("let i = has_key([], 'a')", 'E715:')
|
||||
|
||||
let d[''] = 'none'
|
||||
let d['a'] = 'aaa'
|
||||
|
@@ -89,9 +89,15 @@ func Test_filter_map_dict_expr_funcref()
|
||||
call assert_equal({"foo": "f", "bar": "b", "baz": "b"}, map(copy(dict), function('s:filter4')))
|
||||
endfunc
|
||||
|
||||
func Test_map_fails()
|
||||
func Test_map_filter_fails()
|
||||
call assert_fails('call map([1], "42 +")', 'E15:')
|
||||
call assert_fails('call filter([1], "42 +")', 'E15:')
|
||||
call assert_fails("let l = map('abc', '\"> \" . v:val')", 'E712:')
|
||||
call assert_fails("let l = filter('abc', '\"> \" . v:val')", 'E712:')
|
||||
call assert_fails("let l = filter([1, 2, 3], '{}')", 'E728:')
|
||||
call assert_fails("let l = filter({'k' : 10}, '{}')", 'E728:')
|
||||
call assert_equal(0, map(test_null_list(), '"> " .. v:val'))
|
||||
call assert_equal(0, map(test_null_dict(), '"> " .. v:val'))
|
||||
endfunc
|
||||
|
||||
func Test_map_and_modify()
|
||||
@@ -103,3 +109,5 @@ func Test_map_and_modify()
|
||||
call assert_fails('call map(d, "remove(d, v:key)[0]")', 'E741:')
|
||||
call assert_fails('echo map(d, {k,v -> remove(d, k)})', 'E741:')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -99,9 +99,11 @@ func Test_len()
|
||||
call assert_equal(2, len('ab'))
|
||||
|
||||
call assert_equal(0, len([]))
|
||||
call assert_equal(0, len(test_null_list()))
|
||||
call assert_equal(2, len([2, 1]))
|
||||
|
||||
call assert_equal(0, len({}))
|
||||
call assert_equal(0, len(test_null_dict()))
|
||||
call assert_equal(2, len({'a': 1, 'b': 2}))
|
||||
|
||||
call assert_fails('call len(v:none)', 'E701:')
|
||||
@@ -799,6 +801,9 @@ func Test_append()
|
||||
split
|
||||
only
|
||||
undo
|
||||
|
||||
" Using $ instead of '$' must give an error
|
||||
call assert_fails("call append($, 'foobar')", 'E116:')
|
||||
endfunc
|
||||
|
||||
func Test_getbufvar()
|
||||
@@ -2043,6 +2048,7 @@ func Test_range()
|
||||
|
||||
" list2str()
|
||||
call assert_equal('ABC', list2str(range(65, 67)))
|
||||
call assert_fails('let s = list2str(5)', 'E474:')
|
||||
|
||||
" lock()
|
||||
let thelist = range(5)
|
||||
@@ -2216,4 +2222,17 @@ func Test_screen_functions()
|
||||
call assert_equal([], screenchars(-1, -1))
|
||||
endfunc
|
||||
|
||||
" Test for getcurpos() and setpos()
|
||||
func Test_getcurpos_setpos()
|
||||
new
|
||||
call setline(1, ['012345678', '012345678'])
|
||||
normal gg6l
|
||||
let sp = getcurpos()
|
||||
normal 0
|
||||
call setpos('.', sp)
|
||||
normal jyl
|
||||
call assert_equal('6', @")
|
||||
close!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -32,6 +32,7 @@ func Test_list_slice()
|
||||
call assert_equal([1, 'as''d', [1, 2, function('strlen')], {'a': 1}], l[0:8])
|
||||
call assert_equal([], l[8:-1])
|
||||
call assert_equal([], l[0:-10])
|
||||
call assert_equal([], test_null_list()[:2])
|
||||
endfunc
|
||||
|
||||
" List identity
|
||||
@@ -168,6 +169,19 @@ func Test_dict()
|
||||
call assert_equal({'c': 'ccc', '1': 99, 'b': [1, 2, function('strlen')], '3': 33, '-1': {'a': 1}}, d)
|
||||
call filter(d, 'v:key =~ ''[ac391]''')
|
||||
call assert_equal({'c': 'ccc', '1': 99, '3': 33, '-1': {'a': 1}}, d)
|
||||
|
||||
" duplicate key
|
||||
call assert_fails("let d = {'k' : 10, 'k' : 20}", 'E721:')
|
||||
" missing comma
|
||||
call assert_fails("let d = {'k' : 10 'k' : 20}", 'E722:')
|
||||
" missing curly brace
|
||||
call assert_fails("let d = {'k' : 10,", 'E723:')
|
||||
" invalid key
|
||||
call assert_fails('let d = #{++ : 10}', 'E15:')
|
||||
" wrong type for key
|
||||
call assert_fails('let d={[] : 10}', 'E730:')
|
||||
" undefined variable as value
|
||||
call assert_fails("let d={'k' : i}", 'E121:')
|
||||
endfunc
|
||||
|
||||
" Dictionary identity
|
||||
@@ -262,7 +276,7 @@ func Test_script_local_dict_func()
|
||||
unlet g:dict
|
||||
endfunc
|
||||
|
||||
" Test removing items in la dictionary
|
||||
" Test removing items in a dictionary
|
||||
func Test_dict_func_remove()
|
||||
let d = {1:'a', 2:'b', 3:'c'}
|
||||
call assert_equal('b', remove(d, 2))
|
||||
@@ -634,6 +648,11 @@ func Test_reverse_sort_uniq()
|
||||
|
||||
call assert_fails('call reverse("")', 'E899:')
|
||||
call assert_fails('call uniq([1, 2], {x, y -> []})', 'E882:')
|
||||
call assert_fails("call sort([1, 2], function('min'), 1)", "E715:")
|
||||
call assert_fails("call sort([1, 2], function('invalid_func'))", "E700:")
|
||||
call assert_fails("call sort([1, 2], function('min'))", "E702:")
|
||||
call assert_equal(0, sort(test_null_list()))
|
||||
call assert_equal(0, uniq(test_null_list()))
|
||||
endfunc
|
||||
|
||||
" splitting a string to a List using split()
|
||||
@@ -748,6 +767,9 @@ func Test_listdict_extend()
|
||||
|
||||
call assert_fails("call extend([1, 2], 1)", 'E712:')
|
||||
call assert_fails("call extend([1, 2], {})", 'E712:')
|
||||
|
||||
" Extend g: dictionary with an invalid variable name
|
||||
call assert_fails("call extend(g:, {'-!' : 10})", 'E461:')
|
||||
endfunc
|
||||
|
||||
func s:check_scope_dict(x, fixed)
|
||||
@@ -871,6 +893,26 @@ func Test_listdict_index()
|
||||
call assert_fails("let v = range(5)[2:[]]", 'E730:')
|
||||
call assert_fails("let v = range(5)[2:{-> 2}(]", 'E116:')
|
||||
call assert_fails("let v = range(5)[2:3", 'E111:')
|
||||
call assert_fails("let l = insert([1,2,3], 4, 10)", 'E684:')
|
||||
call assert_fails("let l = insert([1,2,3], 4, -10)", 'E684:')
|
||||
call assert_fails("let l = insert([1,2,3], 4, [])", 'E745:')
|
||||
endfunc
|
||||
|
||||
" Test for a null list
|
||||
func Test_null_list()
|
||||
call assert_equal(0, join(test_null_list()))
|
||||
call assert_fails('let s = join([1, 2], [])', 'E730:')
|
||||
call assert_equal([], split(test_null_string()))
|
||||
endfunc
|
||||
|
||||
" Test for a null dict
|
||||
func Test_null_dict()
|
||||
call assert_equal(0, items(test_null_dict()))
|
||||
call assert_equal(0, keys(test_null_dict()))
|
||||
call assert_equal(0, values(test_null_dict()))
|
||||
call assert_false(has_key(test_null_dict(), 'k'))
|
||||
call assert_fails("let l = [] + test_null_list()", 'E15:')
|
||||
call assert_fails("let l = test_null_list() + []", 'E15:')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -47,7 +47,7 @@ func Test_sort_default()
|
||||
call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], ''))
|
||||
call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 0))
|
||||
call assert_equal(['2', 'A', 'a', 'AA', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 1))
|
||||
call assert_fails('call sort([3.3, 1, "2"], 3)', "E474")
|
||||
call assert_fails('call sort([3.3, 1, "2"], 3)', "E474:")
|
||||
endfunc
|
||||
|
||||
" Tests for the ":sort" command.
|
||||
|
@@ -151,6 +151,10 @@ func Test_syntax_list()
|
||||
let a = execute('syntax list')
|
||||
call assert_equal("\nNo Syntax items defined for this buffer", a)
|
||||
|
||||
syntax keyword Type int containedin=g1 skipwhite skipempty skipnl nextgroup=Abc
|
||||
let exp = "Type xxx containedin=g1 nextgroup=Abc skipnl skipwhite skipempty int"
|
||||
call assert_equal(exp, split(execute("syntax list"), "\n")[1])
|
||||
|
||||
bd
|
||||
endfunc
|
||||
|
||||
|
@@ -103,6 +103,9 @@ func Test_list2str_str2list_latin1()
|
||||
let sres = list2str(l, 1)
|
||||
call assert_equal([65, 66, 67], str2list("ABC"))
|
||||
|
||||
" Try converting a list to a string in latin-1 encoding
|
||||
call assert_equal([1, 2, 3], str2list(list2str([1, 2, 3])))
|
||||
|
||||
let &encoding = save_encoding
|
||||
call assert_equal(l, lres)
|
||||
call assert_equal(s, sres)
|
||||
|
@@ -1980,6 +1980,86 @@ func Test_float_conversion_errors()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func Test_invalid_function_names()
|
||||
" function name not starting with capital
|
||||
let caught_e128 = 0
|
||||
try
|
||||
func! g:test()
|
||||
echo "test"
|
||||
endfunc
|
||||
catch /E128:/
|
||||
let caught_e128 = 1
|
||||
endtry
|
||||
call assert_equal(1, caught_e128)
|
||||
|
||||
" function name includes a colon
|
||||
let caught_e884 = 0
|
||||
try
|
||||
func! b:test()
|
||||
echo "test"
|
||||
endfunc
|
||||
catch /E884:/
|
||||
let caught_e884 = 1
|
||||
endtry
|
||||
call assert_equal(1, caught_e884)
|
||||
|
||||
" function name folowed by #
|
||||
let caught_e128 = 0
|
||||
try
|
||||
func! test2() "#
|
||||
echo "test2"
|
||||
endfunc
|
||||
catch /E128:/
|
||||
let caught_e128 = 1
|
||||
endtry
|
||||
call assert_equal(1, caught_e128)
|
||||
|
||||
" function name starting with/without "g:", buffer-local funcref.
|
||||
function! g:Foo(n)
|
||||
return 'called Foo(' . a:n . ')'
|
||||
endfunction
|
||||
let b:my_func = function('Foo')
|
||||
call assert_equal('called Foo(1)', b:my_func(1))
|
||||
call assert_equal('called Foo(2)', g:Foo(2))
|
||||
call assert_equal('called Foo(3)', Foo(3))
|
||||
delfunc g:Foo
|
||||
|
||||
" script-local function used in Funcref must exist.
|
||||
let lines =<< trim END
|
||||
func s:Testje()
|
||||
return "foo"
|
||||
endfunc
|
||||
let Bar = function('s:Testje')
|
||||
call assert_equal(0, exists('s:Testje'))
|
||||
call assert_equal(1, exists('*s:Testje'))
|
||||
call assert_equal(1, exists('Bar'))
|
||||
call assert_equal(1, exists('*Bar'))
|
||||
END
|
||||
call writefile(lines, 'Xscript')
|
||||
source Xscript
|
||||
call delete('Xscript')
|
||||
endfunc
|
||||
|
||||
" substring and variable name
|
||||
func Test_substring_var()
|
||||
let str = 'abcdef'
|
||||
let n = 3
|
||||
call assert_equal('def', str[n:])
|
||||
call assert_equal('abcd', str[:n])
|
||||
call assert_equal('d', str[n:n])
|
||||
unlet n
|
||||
let nn = 3
|
||||
call assert_equal('def', str[nn:])
|
||||
call assert_equal('abcd', str[:nn])
|
||||
call assert_equal('d', str[nn:nn])
|
||||
unlet nn
|
||||
let b:nn = 4
|
||||
call assert_equal('ef', str[b:nn:])
|
||||
call assert_equal('abcde', str[:b:nn])
|
||||
call assert_equal('e', str[b:nn:b:nn])
|
||||
unlet b:nn
|
||||
endfunc
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Modelines {{{1
|
||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||
|
@@ -746,6 +746,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
610,
|
||||
/**/
|
||||
609,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user