forked from aniani/vim
patch 8.2.2102: Vim9: not all error messages tested
Problem: Vim9: not all error messages tested. Solution: Add a few test cases.
This commit is contained in:
@@ -217,22 +217,47 @@ def Test_nested_function()
|
|||||||
CheckDefFailure(['def s:Nested()', 'enddef'], 'E1075:')
|
CheckDefFailure(['def s:Nested()', 'enddef'], 'E1075:')
|
||||||
CheckDefFailure(['def b:Nested()', 'enddef'], 'E1075:')
|
CheckDefFailure(['def b:Nested()', 'enddef'], 'E1075:')
|
||||||
|
|
||||||
CheckDefFailure([
|
var lines =<< trim END
|
||||||
'def Outer()',
|
def Outer()
|
||||||
' def Inner()',
|
def Inner()
|
||||||
' # comment',
|
# comment
|
||||||
' enddef',
|
enddef
|
||||||
' def Inner()',
|
def Inner()
|
||||||
' enddef',
|
enddef
|
||||||
'enddef'], 'E1073:')
|
enddef
|
||||||
CheckDefFailure([
|
END
|
||||||
'def Outer()',
|
CheckDefFailure(lines, 'E1073:')
|
||||||
' def Inner()',
|
|
||||||
' # comment',
|
lines =<< trim END
|
||||||
' enddef',
|
def Outer()
|
||||||
' def! Inner()',
|
def Inner()
|
||||||
' enddef',
|
# comment
|
||||||
'enddef'], 'E1117:')
|
enddef
|
||||||
|
def! Inner()
|
||||||
|
enddef
|
||||||
|
enddef
|
||||||
|
END
|
||||||
|
CheckDefFailure(lines, 'E1117:')
|
||||||
|
|
||||||
|
# nested function inside conditional
|
||||||
|
# TODO: should it work when "thecount" is inside the "if"?
|
||||||
|
lines =<< trim END
|
||||||
|
vim9script
|
||||||
|
var thecount = 0
|
||||||
|
if true
|
||||||
|
def Test(): number
|
||||||
|
def TheFunc(): number
|
||||||
|
thecount += 1
|
||||||
|
return thecount
|
||||||
|
enddef
|
||||||
|
return TheFunc()
|
||||||
|
enddef
|
||||||
|
endif
|
||||||
|
defcompile
|
||||||
|
assert_equal(1, Test())
|
||||||
|
assert_equal(2, Test())
|
||||||
|
END
|
||||||
|
CheckScriptSuccess(lines)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
func Test_call_default_args_from_func()
|
func Test_call_default_args_from_func()
|
||||||
@@ -315,6 +340,15 @@ def Test_nested_def_list()
|
|||||||
assert_true(funcs->index('def DefListAll()') >= 0)
|
assert_true(funcs->index('def DefListAll()') >= 0)
|
||||||
assert_true(funcs->index('def DefListOne()') >= 0)
|
assert_true(funcs->index('def DefListOne()') >= 0)
|
||||||
assert_true(funcs->index('def DefListMatches()') >= 0)
|
assert_true(funcs->index('def DefListMatches()') >= 0)
|
||||||
|
|
||||||
|
var lines =<< trim END
|
||||||
|
vim9script
|
||||||
|
def Func()
|
||||||
|
def +Func+
|
||||||
|
enddef
|
||||||
|
defcompile
|
||||||
|
END
|
||||||
|
CheckScriptFailure(lines, 'E476:', 1)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
def Test_global_local_function()
|
def Test_global_local_function()
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2102,
|
||||||
/**/
|
/**/
|
||||||
2101,
|
2101,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user