patch 8.2.3333: Vim9: not enough tests run with Vim9
Problem: Vim9: not enough tests run with Vim9. Solution: Run a few more tests in Vim9 script and :def function.
This commit is contained in:
@ -457,6 +457,19 @@ func Test_dict_func_remove_in_use()
|
||||
endfunc
|
||||
let expected = 'a:' . string(get(d, 'func'))
|
||||
call assert_equal(expected, d.func(string(remove(d, 'func'))))
|
||||
|
||||
" similar, in a way it also works in Vim9
|
||||
let lines =<< trim END
|
||||
VAR d = {1: 1, 2: 'x'}
|
||||
func GetArg(a)
|
||||
return "a:" .. a:a
|
||||
endfunc
|
||||
LET d.func = function('GetArg')
|
||||
VAR expected = 'a:' .. string(get(d, 'func'))
|
||||
call assert_equal(expected, d.func(string(remove(d, 'func'))))
|
||||
END
|
||||
call CheckTransLegacySuccess(lines)
|
||||
call CheckTransVim9Success(lines)
|
||||
endfunc
|
||||
|
||||
func Test_dict_literal_keys()
|
||||
|
||||
@ -107,7 +107,7 @@ def CheckDefAndScriptFailure(lines: list<string>, error: string, lnum = -3)
|
||||
CheckScriptFailure(['vim9script'] + lines, error, lnum + 1)
|
||||
enddef
|
||||
|
||||
" As CheckDefAndScriptFailure() but with two different exepected errors.
|
||||
" As CheckDefAndScriptFailure() but with two different expected errors.
|
||||
def CheckDefAndScriptFailure2(
|
||||
lines: list<string>,
|
||||
errorDef: string,
|
||||
@ -166,24 +166,44 @@ func CheckLegacyFailure(lines, error)
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
" Execute "lines" in a legacy function, :def function and Vim9 script.
|
||||
" Use 'VAR' for a declaration.
|
||||
" Use 'LET' for an assignment
|
||||
" Use ' #"' for a comment
|
||||
def CheckLegacyAndVim9Success(lines: list<string>)
|
||||
" Execute "lines" in a legacy function, translated as in
|
||||
" CheckLegacyAndVim9Success()
|
||||
def CheckTransLegacySuccess(lines: list<string>)
|
||||
var legacylines = lines->mapnew((_, v) =>
|
||||
v->substitute('\<VAR\>', 'let', 'g')
|
||||
->substitute('\<LET\>', 'let', 'g')
|
||||
->substitute('#"', ' "', 'g'))
|
||||
CheckLegacySuccess(legacylines)
|
||||
enddef
|
||||
|
||||
" Execute "lines" in a :def function, translated as in
|
||||
" CheckLegacyAndVim9Success()
|
||||
def CheckTransDefSuccess(lines: list<string>)
|
||||
var vim9lines = lines->mapnew((_, v) =>
|
||||
v->substitute('\<VAR\>', 'var', 'g')
|
||||
->substitute('\<LET ', '', 'g'))
|
||||
CheckDefSuccess(vim9lines)
|
||||
enddef
|
||||
|
||||
" Execute "lines" in a Vim9 script, translated as in
|
||||
" CheckLegacyAndVim9Success()
|
||||
def CheckTransVim9Success(lines: list<string>)
|
||||
var vim9lines = lines->mapnew((_, v) =>
|
||||
v->substitute('\<VAR\>', 'var', 'g')
|
||||
->substitute('\<LET ', '', 'g'))
|
||||
CheckScriptSuccess(['vim9script'] + vim9lines)
|
||||
enddef
|
||||
|
||||
" Execute "lines" in a legacy function, :def function and Vim9 script.
|
||||
" Use 'VAR' for a declaration.
|
||||
" Use 'LET' for an assignment
|
||||
" Use ' #"' for a comment
|
||||
def CheckLegacyAndVim9Success(lines: list<string>)
|
||||
CheckTransLegacySuccess(lines)
|
||||
CheckTransDefSuccess(lines)
|
||||
CheckTransVim9Success(lines)
|
||||
enddef
|
||||
|
||||
" Execute "lines" in a legacy function, :def function and Vim9 script.
|
||||
" Use 'VAR' for a declaration.
|
||||
" Use 'LET' for an assignment
|
||||
|
||||
@ -755,6 +755,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3333,
|
||||
/**/
|
||||
3332,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user