patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Problem: Vim9: finding global function without g: prefix but not finding
global variable is inconsistent.
Solution: Require using g: for a global function. Change the vim9.vim
script into a Vim9 script with exports. Fix that import in legacy
script does not work.
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 0af1d5b..7eb7eae 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1,7 +1,7 @@
" Test Vim9 assignments
source check.vim
-source vim9.vim
+import './vim9.vim' as v9
source term_util.vim
let s:appendToMe = 'xxx'
@@ -51,14 +51,14 @@
var cp: bool = &cp
var fen: bool = &l:fen
END
- CheckScriptSuccess(lines)
- CheckDefAndScriptFailure(['var x: bool = 2'], 'E1012:')
- CheckDefAndScriptFailure(['var x: bool = -1'], 'E1012:')
- CheckDefAndScriptFailure(['var x: bool = [1]'], 'E1012:')
- CheckDefAndScriptFailure(['var x: bool = {}'], 'E1012:')
- CheckDefAndScriptFailure(['var x: bool = "x"'], 'E1012:')
+ v9.CheckScriptSuccess(lines)
+ v9.CheckDefAndScriptFailure(['var x: bool = 2'], 'E1012:')
+ v9.CheckDefAndScriptFailure(['var x: bool = -1'], 'E1012:')
+ v9.CheckDefAndScriptFailure(['var x: bool = [1]'], 'E1012:')
+ v9.CheckDefAndScriptFailure(['var x: bool = {}'], 'E1012:')
+ v9.CheckDefAndScriptFailure(['var x: bool = "x"'], 'E1012:')
- CheckDefAndScriptFailure(['var x: bool = "x"', '', 'eval 0'], 'E1012:', 1)
+ v9.CheckDefAndScriptFailure(['var x: bool = "x"', '', 'eval 0'], 'E1012:', 1)
enddef
def Test_syntax()
@@ -67,21 +67,21 @@
enddef
def Test_assignment()
- CheckDefFailure(['var x:string'], 'E1069:')
- CheckDefFailure(['var x:string = "x"'], 'E1069:')
- CheckDefFailure(['var a:string = "x"'], 'E1069:')
- CheckDefFailure(['var lambda = () => "lambda"'], 'E704:')
- CheckScriptFailure(['var x = "x"'], 'E1124:')
+ v9.CheckDefFailure(['var x:string'], 'E1069:')
+ v9.CheckDefFailure(['var x:string = "x"'], 'E1069:')
+ v9.CheckDefFailure(['var a:string = "x"'], 'E1069:')
+ v9.CheckDefFailure(['var lambda = () => "lambda"'], 'E704:')
+ v9.CheckScriptFailure(['var x = "x"'], 'E1124:')
# lower case name is OK for a list
var lambdaLines =<< trim END
var lambdaList: list<func> = [Test_syntax]
lambdaList[0] = () => "lambda"
END
- CheckDefAndScriptSuccess(lambdaLines)
+ v9.CheckDefAndScriptSuccess(lambdaLines)
var nr: number = 1234
- CheckDefFailure(['var nr: number = "asdf"'], 'E1012:')
+ v9.CheckDefFailure(['var nr: number = "asdf"'], 'E1012:')
var a: number = 6 #comment
assert_equal(6, a)
@@ -122,7 +122,7 @@
assert_equal('barfoo', $ENVVAR)
$ENVVAR = ''
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
s:appendToMe ..= 'yyy'
assert_equal('xxxyyy', s:appendToMe)
@@ -155,7 +155,7 @@
f200 /= 5.0
assert_equal(40.0, f200)
- CheckDefFailure(['var nr: number = 200', 'nr /= 5.0'], 'E1012:')
+ v9.CheckDefFailure(['var nr: number = 200', 'nr /= 5.0'], 'E1012:')
endif
lines =<< trim END
@@ -182,18 +182,18 @@
&number = false
assert_equal(false, &number)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckDefFailure(['¬ex += 3'], 'E113:')
- CheckDefFailure(['&ts ..= "xxx"'], 'E1019:')
- CheckDefFailure(['&ts = [7]'], 'E1012:')
- CheckDefExecFailure(['&ts = g:alist'], 'E1012: Type mismatch; expected number but got list<number>')
- CheckDefFailure(['&ts = "xx"'], 'E1012:')
- CheckDefExecFailure(['&ts = g:astring'], 'E1012: Type mismatch; expected number but got string')
- CheckDefFailure(['&path += 3'], 'E1012:')
- CheckDefExecFailure(['&bs = "asdf"'], 'E474:')
+ v9.CheckDefFailure(['¬ex += 3'], 'E113:')
+ v9.CheckDefFailure(['&ts ..= "xxx"'], 'E1019:')
+ v9.CheckDefFailure(['&ts = [7]'], 'E1012:')
+ v9.CheckDefExecFailure(['&ts = g:alist'], 'E1012: Type mismatch; expected number but got list<number>')
+ v9.CheckDefFailure(['&ts = "xx"'], 'E1012:')
+ v9.CheckDefExecFailure(['&ts = g:astring'], 'E1012: Type mismatch; expected number but got string')
+ v9.CheckDefFailure(['&path += 3'], 'E1012:')
+ v9.CheckDefExecFailure(['&bs = "asdf"'], 'E474:')
# test freeing ISN_STOREOPT
- CheckDefFailure(['&ts = 3', 'var asdf'], 'E1022:')
+ v9.CheckDefFailure(['&ts = 3', 'var asdf'], 'E1022:')
&ts = 8
lines =<< trim END
@@ -204,13 +204,13 @@
assert_equal('xxx', &t_TI)
&t_TI = save_TI
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckDefFailure(['&t_TI = 123'], 'E1012:')
- CheckScriptFailure(['vim9script', '&t_TI = 123'], 'E928:')
+ v9.CheckDefFailure(['&t_TI = 123'], 'E1012:')
+ v9.CheckScriptFailure(['vim9script', '&t_TI = 123'], 'E928:')
- CheckDefFailure(['var s:var = 123'], 'E1101:')
- CheckDefFailure(['var s:var: number'], 'E1101:')
+ v9.CheckDefFailure(['var s:var = 123'], 'E1101:')
+ v9.CheckDefFailure(['var s:var: number'], 'E1101:')
lines =<< trim END
vim9script
@@ -219,7 +219,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1089:')
+ v9.CheckScriptFailure(lines, 'E1089:')
g:inc_counter += 1
assert_equal(2, g:inc_counter)
@@ -232,14 +232,14 @@
$SOME_ENV_VAR ..= 'more'
assert_equal('somemore', $SOME_ENV_VAR)
- CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:')
- CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:')
+ v9.CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:')
+ v9.CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:')
v:errmsg = 'none'
v:errmsg ..= 'again'
assert_equal('noneagain', v:errmsg)
- CheckDefFailure(['v:errmsg += "more"'], 'E1051:')
- CheckDefFailure(['v:errmsg += 123'], 'E1012:')
+ v9.CheckDefFailure(['v:errmsg += "more"'], 'E1051:')
+ v9.CheckDefFailure(['v:errmsg += 123'], 'E1012:')
var text =<< trim END
some text
@@ -259,7 +259,7 @@
--f
assert_equal(1.0, f)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
endif
enddef
@@ -275,18 +275,18 @@
s ..= g:someNumber
assert_equal('-99true-null43', s)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var s = '-'
s ..= [1, 2]
END
- CheckDefAndScriptFailure(lines, ['E1105: Cannot convert list to string', 'E734: Wrong variable type for .='], 2)
+ v9.CheckDefAndScriptFailure(lines, ['E1105: Cannot convert list to string', 'E734: Wrong variable type for .='], 2)
lines =<< trim END
var s = '-'
s ..= {a: 2}
END
- CheckDefAndScriptFailure(lines, ['E1105: Cannot convert dict to string', 'E734: Wrong variable type for .='], 2)
+ v9.CheckDefAndScriptFailure(lines, ['E1105: Cannot convert dict to string', 'E734: Wrong variable type for .='], 2)
enddef
def Test_assign_register()
@@ -298,16 +298,16 @@
@@ = 'some text'
assert_equal('some text', getreg('"'))
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckDefFailure(['@a += "more"'], 'E1051:')
- CheckDefFailure(['@a += 123'], 'E1012:')
+ v9.CheckDefFailure(['@a += "more"'], 'E1051:')
+ v9.CheckDefFailure(['@a += 123'], 'E1012:')
enddef
def Test_reserved_name()
for name in ['true', 'false', 'null']
- CheckDefExecAndScriptFailure(['var ' .. name .. ' = 0'], 'E1034:')
- CheckDefExecAndScriptFailure(['var ' .. name .. ': bool'], 'E1034:')
+ v9.CheckDefExecAndScriptFailure(['var ' .. name .. ' = 0'], 'E1034:')
+ v9.CheckDefExecAndScriptFailure(['var ' .. name .. ': bool'], 'E1034:')
endfor
enddef
@@ -320,7 +320,7 @@
endwhile
endfor
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_assign_keep_type()
@@ -330,7 +330,7 @@
l = [123]
l->add('string')
END
- CheckScriptFailure(lines, 'E1012:', 4)
+ v9.CheckScriptFailure(lines, 'E1012:', 4)
enddef
def Test_assign_unpack()
@@ -382,62 +382,62 @@
assert_equal(2, a)
assert_equal(0, b)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var v1: number
var v2: number
[v1, v2] = [1, 2, 3]
END
- CheckDefFailure(lines, 'E1093: Expected 2 items but got 3', 3)
+ v9.CheckDefFailure(lines, 'E1093: Expected 2 items but got 3', 3)
lines =<< trim END
var v1: number
var v2: number
[v1, v2] = [1]
END
- CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
+ v9.CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
lines =<< trim END
var v1: number
var v2: number
[v1, v2; _] = [1]
END
- CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
+ v9.CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
lines =<< trim END
var v1: number
var v2: number
[v1, v2] =
END
- CheckDefFailure(lines, 'E1097:', 5)
+ v9.CheckDefFailure(lines, 'E1097:', 5)
lines =<< trim END
var v1: number
var v2: number
[v1, v2] = xxx
END
- CheckDefFailure(lines, 'E1001:', 3)
+ v9.CheckDefFailure(lines, 'E1001:', 3)
lines =<< trim END
var v1: number
var v2: number
[v1, v2] = popup_clear()
END
- CheckDefFailure(lines, 'E1031:', 3)
+ v9.CheckDefFailure(lines, 'E1031:', 3)
lines =<< trim END
[v1, v2] = [1, 2]
END
- CheckDefFailure(lines, 'E1089', 1)
- CheckScriptFailure(['vim9script'] + lines, 'E1089', 2)
+ v9.CheckDefFailure(lines, 'E1089', 1)
+ v9.CheckScriptFailure(['vim9script'] + lines, 'E1089', 2)
lines =<< trim END
var v1: number
var v2: number
[v1, v2] = ''
END
- CheckDefFailure(lines, 'E1012: Type mismatch; expected list<any> but got string', 3)
+ v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected list<any> but got string', 3)
lines =<< trim END
g:values = [false, 0]
@@ -445,7 +445,7 @@
var y: string
[x, y] = g:values
END
- CheckDefExecAndScriptFailure(lines, 'E1163: Variable 2: type mismatch, expected string but got number')
+ v9.CheckDefExecAndScriptFailure(lines, 'E1163: Variable 2: type mismatch, expected string but got number')
lines =<< trim END
var x: number
@@ -453,7 +453,7 @@
var z: string
[x, y, z] = [1, 2, 3]
END
- CheckDefAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
+ v9.CheckDefAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
lines =<< trim END
var x: number
@@ -461,7 +461,7 @@
var z: string
[x, y, z] = [1, '2', 3]
END
- CheckDefExecAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
+ v9.CheckDefExecAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
enddef
def Test_assign_linebreak()
@@ -476,7 +476,7 @@
assert_equal(12, nr)
assert_equal(34, n2)
- CheckDefFailure(["var x = #"], 'E1097:', 3)
+ v9.CheckDefFailure(["var x = #"], 'E1097:', 3)
var lines =<< trim END
var x: list<string> = ['a']
@@ -484,7 +484,7 @@
->copy()
->copy()
END
- CheckDefFailure(lines, 'E1012:', 2)
+ v9.CheckDefFailure(lines, 'E1012:', 2)
lines =<< trim END
var x: any
@@ -494,7 +494,7 @@
+ 4
+ 5
END
- CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203:'], 2)
+ v9.CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203:'], 2)
enddef
def Test_assign_index()
@@ -519,7 +519,7 @@
l3[0] = []
l3[0][0] = []
END
- CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown>', 3)
+ v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown>', 3)
# dict of dict
var d1: dict<number>
@@ -548,19 +548,19 @@
d3.one = {}
d3.one.two = {}
END
- CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got dict<unknown>', 3)
+ v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got dict<unknown>', 3)
lines =<< trim END
var lines: list<string>
lines['a'] = 'asdf'
END
- CheckDefFailure(lines, 'E1012:', 2)
+ v9.CheckDefFailure(lines, 'E1012:', 2)
lines =<< trim END
var lines: string
lines[9] = 'asdf'
END
- CheckDefFailure(lines, 'E1141:', 2)
+ v9.CheckDefFailure(lines, 'E1141:', 2)
# list of dict
var ld: list<dict<number>>
@@ -572,7 +572,7 @@
var ld: list<dict<number>>
ld[0] = []
END
- CheckDefFailure(lines, 'E1012: Type mismatch; expected dict<number> but got list<unknown>', 2)
+ v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected dict<number> but got list<unknown>', 2)
# dict of list
var dl: dict<list<number>>
@@ -584,7 +584,7 @@
var dl: dict<list<number>>
dl.one = {}
END
- CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2)
+ v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2)
enddef
def Test_init_in_for_loop()
@@ -597,7 +597,7 @@
endfor
assert_equal([0, 0], l)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var l: list<number> = []
@@ -608,7 +608,7 @@
endfor
assert_equal([0, 0], l)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var l: list<number> = []
@@ -619,7 +619,7 @@
endfor
assert_equal([3, 3], l)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_extend_list()
@@ -631,14 +631,14 @@
assert_equal([123], l1)
assert_true(l1 is l2)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var list: list<string>
extend(list, ['x'])
assert_equal(['x'], list)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
# appending to NULL list from a function
lines =<< trim END
@@ -650,7 +650,7 @@
Func()
assert_equal(['a', 'b'], list)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
var list: list<string>
@@ -660,7 +660,7 @@
Func()
assert_equal(['x', 'b'], list)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -668,13 +668,13 @@
extend(l, ['x'])
assert_equal(['x'], l)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
extend(test_null_list(), ['x'])
END
- CheckScriptFailure(lines, 'E1134:', 2)
+ v9.CheckScriptFailure(lines, 'E1134:', 2)
# using global var has no declared type
g:myList = []
@@ -690,7 +690,7 @@
g:myList->extend([1])
g:myList->extend(['x'])
END
- CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 4)
+ v9.CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 4)
unlet g:myList
enddef
@@ -705,7 +705,7 @@
d2['one'] = 1
assert_equal({one: 1}, d2)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -713,13 +713,13 @@
extend(d, {a: 'x'})
assert_equal({a: 'x'}, d)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
extend(test_null_dict(), {a: 'x'})
END
- CheckScriptFailure(lines, 'E1133:', 2)
+ v9.CheckScriptFailure(lines, 'E1133:', 2)
enddef
def Test_single_letter_vars()
@@ -805,7 +805,7 @@
list3 += ['end']
assert_equal(['sdf', 'asdf', 'end'], list3)
- CheckDefExecFailure(['var ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:')
+ v9.CheckDefExecFailure(['var ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:')
# type becomes list<any>
var somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c']
@@ -818,7 +818,7 @@
var d = {dd: test_null_list()}
d.dd[0] = 0
END
- CheckDefExecFailure(lines, 'E1147:', 2)
+ v9.CheckDefExecFailure(lines, 'E1147:', 2)
lines =<< trim END
def OneArg(x: bool)
@@ -827,7 +827,7 @@
enddef
var fl: list<func(bool, bool, bool)> = [OneArg, TwoArgs]
END
- CheckDefExecAndScriptFailure(lines, 'E1012:', 5)
+ v9.CheckDefExecAndScriptFailure(lines, 'E1012:', 5)
enddef
def Test_list_declaration()
@@ -840,21 +840,21 @@
var lines =<< trim END
var [v1, v2] = [1]
END
- CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
+ v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
lines =<< trim END
var testlist = [1]
var [v1, v2] = testlist
END
- CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
+ v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
lines =<< trim END
var [v1, v2] = [1, 2, 3]
END
- CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
+ v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
lines =<< trim END
var testlist = [1, 2, 3]
var [v1, v2] = testlist
END
- CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
+ v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
var [vnr, vstr] = [123, 'text']
vnr += 3
@@ -876,12 +876,12 @@
lines =<< trim END
var [vnr2: number, vstr2: number] = [123, 'text']
END
- CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
+ v9.CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
lines =<< trim END
var testlist = [234, 'text']
var [vnr2: number, vstr2: number] = testlist
END
- CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
+ v9.CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
enddef
def PartFuncBool(b: bool): string
@@ -893,7 +893,7 @@
var Partial: func(): string = function(PartFuncBool, [true])
assert_equal('done', Partial())
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -903,7 +903,7 @@
assert_equal('func()', typename(Ref))
Ref()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -921,7 +921,7 @@
assert_equal(0, nres)
assert_equal('x', sres)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -933,7 +933,7 @@
var Ref = function(Func, [n])
Ref(0)
END
- CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected string but got number')
+ v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected string but got number')
enddef
def Test_assignment_list_any_index()
@@ -954,7 +954,7 @@
[v1, v2, v3] = [1, 2, 3]
assert_equal([1, 2, 3], [v1, v2, v3])
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_assignment_dict()
@@ -981,7 +981,7 @@
dd.two = 2
assert_equal({two: 2}, dd)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var d = {dd: {}}
@@ -990,19 +990,19 @@
d.dd.y = 4
assert_equal({dd: {0: 2, x: 3, y: 4}}, d)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var dd = {one: 1}
dd.one) = 2
END
- CheckDefFailure(lines, 'E488:', 2)
+ v9.CheckDefFailure(lines, 'E488:', 2)
lines =<< trim END
var dd = {one: 1}
var dd.one = 2
END
- CheckDefAndScriptFailure(lines, 'E1017:', 2)
+ v9.CheckDefAndScriptFailure(lines, 'E1017:', 2)
# empty key can be used
var dd = {}
@@ -1030,7 +1030,7 @@
g:myDict->extend({a: 1})
g:myDict->extend({b: 'x'})
END
- CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 4)
+ v9.CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 4)
unlet g:myDict
# assignment to script-local dict
@@ -1043,7 +1043,7 @@
enddef
assert_equal({a: 43}, FillDict())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1055,7 +1055,7 @@
FillDict()
assert_equal({a: 43}, test)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# assignment to global dict
lines =<< trim END
@@ -1067,7 +1067,7 @@
enddef
assert_equal({a: 43}, FillDict())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# assignment to buffer dict
lines =<< trim END
@@ -1079,25 +1079,25 @@
enddef
assert_equal({a: 43}, FillDict())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
var d = {dd: test_null_dict()}
d.dd[0] = 0
END
- CheckDefExecFailure(lines, 'E1103:', 2)
+ v9.CheckDefExecFailure(lines, 'E1103:', 2)
lines =<< trim END
var d = {dd: 'string'}
d.dd[0] = 0
END
- CheckDefExecFailure(lines, 'E1148:', 2)
+ v9.CheckDefExecFailure(lines, 'E1148:', 2)
lines =<< trim END
var n: any
n.key = 5
END
- CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203: Dot can only be used on a dictionary: n.key = 5'], 2)
+ v9.CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203: Dot can only be used on a dictionary: n.key = 5'], 2)
enddef
def Test_assignment_local()
@@ -1135,7 +1135,7 @@
enddef
call Test_assignment_local_internal()
END
- CheckScriptSuccess(script_lines)
+ v9.CheckScriptSuccess(script_lines)
enddef
def Test_assignment_default()
@@ -1231,7 +1231,7 @@
assert_equal('error', v:errmsg)
unlet g:globalvar
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
[g:globalvar, s:scriptvar, b:bufvar] = ['global', 'script', 'buf']
assert_equal('global', g:globalvar)
@@ -1246,7 +1246,7 @@
assert_equal('script', s:scriptvar)
assert_equal('win', w:winvar)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_assignment_vim9script()
@@ -1297,7 +1297,7 @@
to_var = 3
assert_equal(3, to_var)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1307,7 +1307,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got string')
+ v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got string')
enddef
def Mess(): string
@@ -1316,93 +1316,93 @@
enddef
def Test_assignment_failure()
- CheckDefFailure(['var name=234'], 'E1004:')
- CheckDefFailure(['var name =234'], 'E1004:')
- CheckDefFailure(['var name= 234'], 'E1004:')
+ v9.CheckDefFailure(['var name=234'], 'E1004:')
+ v9.CheckDefFailure(['var name =234'], 'E1004:')
+ v9.CheckDefFailure(['var name= 234'], 'E1004:')
- CheckScriptFailure(['vim9script', 'var name=234'], 'E1004:')
- CheckScriptFailure(['vim9script', 'var name=234'], "before and after '='")
- CheckScriptFailure(['vim9script', 'var name =234'], 'E1004:')
- CheckScriptFailure(['vim9script', 'var name= 234'], 'E1004:')
- CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], 'E1004:')
- CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], "before and after '+='")
- CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], 'E1004:')
- CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], "before and after '..='")
+ v9.CheckScriptFailure(['vim9script', 'var name=234'], 'E1004:')
+ v9.CheckScriptFailure(['vim9script', 'var name=234'], "before and after '='")
+ v9.CheckScriptFailure(['vim9script', 'var name =234'], 'E1004:')
+ v9.CheckScriptFailure(['vim9script', 'var name= 234'], 'E1004:')
+ v9.CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], 'E1004:')
+ v9.CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], "before and after '+='")
+ v9.CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], 'E1004:')
+ v9.CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], "before and after '..='")
- CheckDefFailure(['var true = 1'], 'E1034:')
- CheckDefFailure(['var false = 1'], 'E1034:')
- CheckDefFailure(['var null = 1'], 'E1034:')
- CheckDefFailure(['var this = 1'], 'E1034:')
+ v9.CheckDefFailure(['var true = 1'], 'E1034:')
+ v9.CheckDefFailure(['var false = 1'], 'E1034:')
+ v9.CheckDefFailure(['var null = 1'], 'E1034:')
+ v9.CheckDefFailure(['var this = 1'], 'E1034:')
- CheckDefFailure(['[a; b; c] = g:list'], 'E452:')
- CheckDefExecFailure(['var a: number',
+ v9.CheckDefFailure(['[a; b; c] = g:list'], 'E452:')
+ v9.CheckDefExecFailure(['var a: number',
'[a] = test_null_list()'], 'E1093:')
- CheckDefExecFailure(['var a: number',
+ v9.CheckDefExecFailure(['var a: number',
'[a] = []'], 'E1093:')
- CheckDefExecFailure(['var x: number',
+ v9.CheckDefExecFailure(['var x: number',
'var y: number',
'[x, y] = [1]'], 'E1093:')
- CheckDefExecFailure(['var x: string',
+ v9.CheckDefExecFailure(['var x: string',
'var y: string',
'[x, y] = ["x"]'], 'E1093:')
- CheckDefExecFailure(['var x: number',
+ v9.CheckDefExecFailure(['var x: number',
'var y: number',
'var z: list<number>',
'[x, y; z] = [1]'], 'E1093:')
- CheckDefFailure(['var somevar'], "E1022:")
- CheckDefFailure(['var &tabstop = 4'], 'E1052:')
- CheckDefFailure(['&g:option = 5'], 'E113:')
- CheckScriptFailure(['vim9script', 'var &tabstop = 4'], 'E1052:')
+ v9.CheckDefFailure(['var somevar'], "E1022:")
+ v9.CheckDefFailure(['var &tabstop = 4'], 'E1052:')
+ v9.CheckDefFailure(['&g:option = 5'], 'E113:')
+ v9.CheckScriptFailure(['vim9script', 'var &tabstop = 4'], 'E1052:')
- CheckDefFailure(['var $VAR = 5'], 'E1016: Cannot declare an environment variable:')
- CheckScriptFailure(['vim9script', 'var $ENV = "xxx"'], 'E1016:')
+ v9.CheckDefFailure(['var $VAR = 5'], 'E1016: Cannot declare an environment variable:')
+ v9.CheckScriptFailure(['vim9script', 'var $ENV = "xxx"'], 'E1016:')
if has('dnd')
- CheckDefFailure(['var @~ = 5'], 'E1066:')
+ v9.CheckDefFailure(['var @~ = 5'], 'E1066:')
else
- CheckDefFailure(['var @~ = 5'], 'E354:')
- CheckDefFailure(['@~ = 5'], 'E354:')
+ v9.CheckDefFailure(['var @~ = 5'], 'E354:')
+ v9.CheckDefFailure(['@~ = 5'], 'E354:')
endif
- CheckDefFailure(['var @a = 5'], 'E1066:')
- CheckDefFailure(['var @/ = "x"'], 'E1066:')
- CheckScriptFailure(['vim9script', 'var @a = "abc"'], 'E1066:')
+ v9.CheckDefFailure(['var @a = 5'], 'E1066:')
+ v9.CheckDefFailure(['var @/ = "x"'], 'E1066:')
+ v9.CheckScriptFailure(['vim9script', 'var @a = "abc"'], 'E1066:')
- CheckDefFailure(['var g:var = 5'], 'E1016: Cannot declare a global variable:')
- CheckDefFailure(['var w:var = 5'], 'E1016: Cannot declare a window variable:')
- CheckDefFailure(['var b:var = 5'], 'E1016: Cannot declare a buffer variable:')
- CheckDefFailure(['var t:var = 5'], 'E1016: Cannot declare a tab variable:')
+ v9.CheckDefFailure(['var g:var = 5'], 'E1016: Cannot declare a global variable:')
+ v9.CheckDefFailure(['var w:var = 5'], 'E1016: Cannot declare a window variable:')
+ v9.CheckDefFailure(['var b:var = 5'], 'E1016: Cannot declare a buffer variable:')
+ v9.CheckDefFailure(['var t:var = 5'], 'E1016: Cannot declare a tab variable:')
- CheckDefFailure(['var anr = 4', 'anr ..= "text"'], 'E1019:')
- CheckDefFailure(['var xnr += 4'], 'E1020:', 1)
- CheckScriptFailure(['vim9script', 'var xnr += 4'], 'E1020:')
- CheckDefFailure(["var xnr = xnr + 1"], 'E1001:', 1)
- CheckScriptFailure(['vim9script', 'var xnr = xnr + 4'], 'E121:')
+ v9.CheckDefFailure(['var anr = 4', 'anr ..= "text"'], 'E1019:')
+ v9.CheckDefFailure(['var xnr += 4'], 'E1020:', 1)
+ v9.CheckScriptFailure(['vim9script', 'var xnr += 4'], 'E1020:')
+ v9.CheckDefFailure(["var xnr = xnr + 1"], 'E1001:', 1)
+ v9.CheckScriptFailure(['vim9script', 'var xnr = xnr + 4'], 'E121:')
- CheckScriptFailure(['vim9script', 'def Func()', 'var dummy = s:notfound', 'enddef', 'defcompile'], 'E1108:')
+ v9.CheckScriptFailure(['vim9script', 'def Func()', 'var dummy = s:notfound', 'enddef', 'defcompile'], 'E1108:')
- CheckDefFailure(['var name: list<string> = [123]'], 'expected list<string> but got list<number>')
- CheckDefFailure(['var name: list<number> = ["xx"]'], 'expected list<number> but got list<string>')
+ v9.CheckDefFailure(['var name: list<string> = [123]'], 'expected list<string> but got list<number>')
+ v9.CheckDefFailure(['var name: list<number> = ["xx"]'], 'expected list<number> but got list<string>')
- CheckDefFailure(['var name: dict<string> = {key: 123}'], 'expected dict<string> but got dict<number>')
- CheckDefFailure(['var name: dict<number> = {key: "xx"}'], 'expected dict<number> but got dict<string>')
+ v9.CheckDefFailure(['var name: dict<string> = {key: 123}'], 'expected dict<string> but got dict<number>')
+ v9.CheckDefFailure(['var name: dict<number> = {key: "xx"}'], 'expected dict<number> but got dict<string>')
- CheckDefFailure(['var name = feedkeys("0")'], 'E1031:')
- CheckDefFailure(['var name: number = feedkeys("0")'], 'expected number but got void')
+ v9.CheckDefFailure(['var name = feedkeys("0")'], 'E1031:')
+ v9.CheckDefFailure(['var name: number = feedkeys("0")'], 'expected number but got void')
- CheckDefFailure(['var name: dict <number>'], 'E1068:')
- CheckDefFailure(['var name: dict<number'], 'E1009:')
+ v9.CheckDefFailure(['var name: dict <number>'], 'E1068:')
+ v9.CheckDefFailure(['var name: dict<number'], 'E1009:')
assert_fails('s/^/\=Mess()/n', 'E794:')
- CheckDefFailure(['var name: dict<number'], 'E1009:')
+ v9.CheckDefFailure(['var name: dict<number'], 'E1009:')
- CheckDefFailure(['w:foo: number = 10'],
+ v9.CheckDefFailure(['w:foo: number = 10'],
'E488: Trailing characters: : number = 1')
- CheckDefFailure(['t:foo: bool = true'],
+ v9.CheckDefFailure(['t:foo: bool = true'],
'E488: Trailing characters: : bool = true')
- CheckDefFailure(['b:foo: string = "x"'],
+ v9.CheckDefFailure(['b:foo: string = "x"'],
'E488: Trailing characters: : string = "x"')
- CheckDefFailure(['g:foo: number = 123'],
+ v9.CheckDefFailure(['g:foo: number = 123'],
'E488: Trailing characters: : number = 123')
enddef
@@ -1430,10 +1430,10 @@
ul[2] = 3
assert_equal([1, 2, 3], ul)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckDefFailure(["var l: list<number> = ['', true]"], 'E1012: Type mismatch; expected list<number> but got list<any>', 1)
- CheckDefFailure(["var l: list<list<number>> = [['', true]]"], 'E1012: Type mismatch; expected list<list<number>> but got list<list<any>>', 1)
+ v9.CheckDefFailure(["var l: list<number> = ['', true]"], 'E1012: Type mismatch; expected list<number> but got list<any>', 1)
+ v9.CheckDefFailure(["var l: list<list<number>> = [['', true]]"], 'E1012: Type mismatch; expected list<list<number>> but got list<list<any>>', 1)
enddef
def Test_assign_dict()
@@ -1457,10 +1457,10 @@
unlet d.somekey
assert_equal({key: 'value', '123': 'qwerty'}, d)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckDefFailure(["var d: dict<number> = {a: '', b: true}"], 'E1012: Type mismatch; expected dict<number> but got dict<any>', 1)
- CheckDefFailure(["var d: dict<dict<number>> = {x: {a: '', b: true}}"], 'E1012: Type mismatch; expected dict<dict<number>> but got dict<dict<any>>', 1)
+ v9.CheckDefFailure(["var d: dict<number> = {a: '', b: true}"], 'E1012: Type mismatch; expected dict<number> but got dict<any>', 1)
+ v9.CheckDefFailure(["var d: dict<dict<number>> = {x: {a: '', b: true}}"], 'E1012: Type mismatch; expected dict<dict<number>> but got dict<dict<any>>', 1)
enddef
def Test_assign_dict_unknown_type()
@@ -1474,7 +1474,7 @@
enddef
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1486,7 +1486,7 @@
enddef
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_assign_dict_with_op()
@@ -1532,7 +1532,7 @@
dab.a[0] ..= 'c'
assert_equal({a: ['bc']}, dab)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_assign_list_with_op()
@@ -1557,7 +1557,7 @@
ln[0] %= 3
assert_equal(2, ln[0])
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_assign_with_op_fails()
@@ -1565,20 +1565,20 @@
var s = 'abc'
s[1] += 'x'
END
- CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
+ v9.CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
lines =<< trim END
var s = 'abc'
s[1] ..= 'x'
END
- CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
+ v9.CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
lines =<< trim END
var dd: dict<dict<list<any>>>
dd.a = {}
dd.a.b += [1]
END
- CheckDefExecAndScriptFailure(lines, 'E716:', 3)
+ v9.CheckDefExecAndScriptFailure(lines, 'E716:', 3)
enddef
def Test_assign_lambda()
@@ -1594,18 +1594,18 @@
var FuncRef_Number: func(): number = () => 321
assert_equal(321, FuncRef_Number())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
var Ref: func(number)
Ref = (j) => !j
END
- CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(any): bool')
+ v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(any): bool')
lines =<< trim END
echo filter([1, 2, 3], (_, v: string) => v + 1)
END
- CheckDefAndScriptFailure(lines, 'E1051:')
+ v9.CheckDefAndScriptFailure(lines, 'E1051:')
enddef
def Test_heredoc()
@@ -1614,8 +1614,8 @@
END
assert_equal(['text'], lines)
- CheckDefFailure(['var lines =<< trim END X', 'END'], 'E488:')
- CheckDefFailure(['var lines =<< trim END " comment', 'END'], 'E488:')
+ v9.CheckDefFailure(['var lines =<< trim END X', 'END'], 'E488:')
+ v9.CheckDefFailure(['var lines =<< trim END " comment', 'END'], 'E488:')
lines =<< trim [END]
def Func()
@@ -1625,7 +1625,7 @@
enddef
defcompile
[END]
- CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
+ v9.CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
delfunc! g:Func
lines =<< trim [END]
@@ -1642,7 +1642,7 @@
enddef
call Func()
[END]
- CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
+ v9.CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
delfunc! g:Func
lines =<< trim END
@@ -1651,7 +1651,7 @@
bbb
STOP
END
- CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<string>', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<string>', 1)
enddef
def Test_var_func_call()
@@ -1683,14 +1683,14 @@
vim9script
var name = g:unknown
END
- CheckScriptFailure(lines, 'E121:')
+ v9.CheckScriptFailure(lines, 'E121:')
lines =<< trim END
vim9script
var nr: number = 123
var name = nr
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_var_declaration()
@@ -1757,7 +1757,7 @@
enddef
ChangeAdict()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
assert_equal('', g:var_uninit)
assert_equal('text', g:var_test)
assert_equal('prefixed', g:var_prefixed)
@@ -1782,14 +1782,14 @@
vim9script
final var: string
END
- CheckScriptFailure(lines, 'E1125:')
+ v9.CheckScriptFailure(lines, 'E1125:')
lines =<< trim END
vim9script
const g:constvar = 'string'
g:constvar = 'xx'
END
- CheckScriptFailure(lines, 'E741:')
+ v9.CheckScriptFailure(lines, 'E741:')
unlet g:constvar
lines =<< trim END
@@ -1801,7 +1801,7 @@
enddef
SetLocked()
END
- CheckScriptFailure(lines, 'E741: Value is locked: name', 1)
+ v9.CheckScriptFailure(lines, 'E741: Value is locked: name', 1)
lines =<< trim END
let s:legacy = 'one'
@@ -1811,7 +1811,7 @@
enddef
call SetLocked()
END
- CheckScriptFailure(lines, 'E741: Value is locked: s:legacy', 1)
+ v9.CheckScriptFailure(lines, 'E741: Value is locked: s:legacy', 1)
lines =<< trim END
vim9script
@@ -1821,7 +1821,7 @@
SetGlobalConst()
g:globConst = 234
END
- CheckScriptFailure(lines, 'E741: Value is locked: g:globConst', 6)
+ v9.CheckScriptFailure(lines, 'E741: Value is locked: g:globConst', 6)
unlet g:globConst
lines =<< trim END
@@ -1832,31 +1832,31 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E46:')
+ v9.CheckScriptFailure(lines, 'E46:')
lines =<< trim END
vim9script
final w:finalvar = [9]
w:finalvar = [8]
END
- CheckScriptFailure(lines, 'E1122:')
+ v9.CheckScriptFailure(lines, 'E1122:')
unlet w:finalvar
lines =<< trim END
vim9script
const var: string
END
- CheckScriptFailure(lines, 'E1021:')
+ v9.CheckScriptFailure(lines, 'E1021:')
lines =<< trim END
vim9script
var 9var: string
END
- CheckScriptFailure(lines, 'E488:')
+ v9.CheckScriptFailure(lines, 'E488:')
- CheckDefFailure(['var foo.bar = 2'], 'E1087:')
- CheckDefFailure(['var foo[3] = 2'], 'E1087:')
- CheckDefFailure(['const foo: number'], 'E1021:')
+ v9.CheckDefFailure(['var foo.bar = 2'], 'E1087:')
+ v9.CheckDefFailure(['var foo[3] = 2'], 'E1087:')
+ v9.CheckDefFailure(['const foo: number'], 'E1021:')
enddef
def Test_script_local_in_legacy()
@@ -1870,7 +1870,7 @@
call SetLater()
call assert_equal('two', s:legvar)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# OK to leave out s: prefix when script-local already defined
lines =<< trim END
@@ -1881,7 +1881,7 @@
call SetNoPrefix()
call assert_equal('two', s:legvar)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# Not OK to leave out s: prefix when script-local defined later
lines =<< trim END
@@ -1891,14 +1891,14 @@
defcompile
let s:legvar = 'one'
END
- CheckScriptFailure(lines, 'E476:', 1)
+ v9.CheckScriptFailure(lines, 'E476:', 1)
edit! Xfile
lines =<< trim END
var edit: bool
legacy edit
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_var_type_check()
@@ -1907,35 +1907,35 @@
var name: string
name = 1234
END
- CheckScriptFailure(lines, 'E1012:')
+ v9.CheckScriptFailure(lines, 'E1012:')
lines =<< trim END
vim9script
var name:string
END
- CheckScriptFailure(lines, 'E1069:')
+ v9.CheckScriptFailure(lines, 'E1069:')
- CheckDefAndScriptFailure(['var n:number = 42'], 'E1069:')
+ v9.CheckDefAndScriptFailure(['var n:number = 42'], 'E1069:')
lines =<< trim END
vim9script
var name: asdf
END
- CheckScriptFailure(lines, 'E1010:')
+ v9.CheckScriptFailure(lines, 'E1010:')
lines =<< trim END
vim9script
var s:l: list<number>
s:l = []
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
var s:d: dict<number>
s:d = {}
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1945,7 +1945,7 @@
enddef
defcompile
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
let g:dict_number = #{one: 1, two: 2}
@@ -1963,11 +1963,11 @@
var ll: list<number>
ll = [1, 2, 3]->map('"one"')
END
- CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>')
+ v9.CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>')
enddef
def Test_cannot_use_let()
- CheckDefAndScriptFailure(['let a = 34'], 'E1126:', 1)
+ v9.CheckDefAndScriptFailure(['let a = 34'], 'E1126:', 1)
enddef
def Test_unlet()
@@ -1984,7 +1984,7 @@
assert_false(exists('s:somevar'))
unlet! s:somevar
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var dd = 111',
'unlet dd',
], 'E1081:', 2)
@@ -2013,41 +2013,41 @@
unlet ll[-2 : -1]
assert_equal([1, 2], ll)
- CheckDefFailure([
+ v9.CheckDefFailure([
'var ll = [1, 2]',
'll[1 : 2] = 7',
], 'E1012: Type mismatch; expected list<number> but got number', 2)
- CheckDefFailure([
+ v9.CheckDefFailure([
'var dd = {a: 1}',
'unlet dd["a" : "a"]',
], 'E1166:', 2)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'unlet g:adict[0 : 1]',
], 'E1148:', 1)
- CheckDefFailure([
+ v9.CheckDefFailure([
'var ll = [1, 2]',
'unlet ll[0:1]',
], 'E1004:', 2)
- CheckDefFailure([
+ v9.CheckDefFailure([
'var ll = [1, 2]',
'unlet ll[0 :1]',
], 'E1004:', 2)
- CheckDefFailure([
+ v9.CheckDefFailure([
'var ll = [1, 2]',
'unlet ll[0: 1]',
], 'E1004:', 2)
# command recognized as assignment when skipping, should not give an error
- CheckScriptSuccess([
+ v9.CheckScriptSuccess([
'vim9script',
'for i in []',
" put =''",
'endfor'])
- CheckDefFailure([
+ v9.CheckDefFailure([
'var ll = [1, 2]',
'unlet ll["x" : 1]',
], 'E1012:', 2)
- CheckDefFailure([
+ v9.CheckDefFailure([
'var ll = [1, 2]',
'unlet ll[0 : "x"]',
], 'E1012:', 2)
@@ -2057,27 +2057,27 @@
unlet dl[0]['b']
assert_equal([{a: 1}, {c: 3}], dl)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var ll = test_null_list()',
'unlet ll[0]',
], 'E684:', 2)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var ll = [1]',
'unlet ll[2]',
], 'E684:', 2)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var ll = [1]',
'unlet ll[g:astring]',
], 'E1012:', 2)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var dd = test_null_dict()',
'unlet dd["a"]',
], 'E716:', 2)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var dd = {a: 1}',
'unlet dd["b"]',
], 'E716:', 2)
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var dd = {a: 1}',
'unlet dd[g:alist]',
], 'E1105:', 2)
@@ -2090,17 +2090,17 @@
unlet g:someDict
assert_false(exists('g:someDict'))
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'var svar = 123',
'unlet svar',
], 'E1081:')
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'var svar = 123',
'unlet s:svar',
], 'E1081:')
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'var svar = 123',
'def Func()',
@@ -2108,7 +2108,7 @@
'enddef',
'defcompile',
], 'E1081:')
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'var svar = 123',
'func Func()',
@@ -2116,7 +2116,7 @@
'endfunc',
'Func()',
], 'E1081:')
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'var svar = 123',
'def Func()',
@@ -2125,7 +2125,7 @@
'defcompile',
], 'E1081:')
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'def Delcount(dict: dict<any>)',
' unlet dict.count',
@@ -2133,7 +2133,7 @@
'Delcount(v:)',
], 'E742:')
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'def DelChangedtick(dict: dict<any>)',
' unlet dict.changedtick',
@@ -2150,7 +2150,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1260:', 1)
+ v9.CheckScriptFailure(lines, 'E1260:', 1)
delete('XunletExport.vim')
$ENVVAR = 'foobar'
@@ -2165,26 +2165,26 @@
var x = invalid
echo x
END
- CheckScriptFailureList(lines, ['E121:', 'E121:'])
+ v9.CheckScriptFailureList(lines, ['E121:', 'E121:'])
lines =<< trim END
vim9script
var x = 1 / 0
echo x
END
- CheckScriptFailure(lines, 'E1154:')
+ v9.CheckScriptFailure(lines, 'E1154:')
lines =<< trim END
vim9script
var x = 1 % 0
echo x
END
- CheckScriptFailure(lines, 'E1154:')
+ v9.CheckScriptFailure(lines, 'E1154:')
lines =<< trim END
var x: string 'string'
END
- CheckDefAndScriptFailure(lines, 'E488:')
+ v9.CheckDefAndScriptFailure(lines, 'E488:')
enddef
@@ -2212,7 +2212,7 @@
assert_equal(1, x)
assert_equal(2, y)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_assign_alt_buf_register()
@@ -2225,7 +2225,7 @@
@# = b2
assert_equal(b2, bufnr('#'))
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_script_funcref_case()
@@ -2233,25 +2233,25 @@
var Len = (s: string): number => len(s) + 1
assert_equal(5, Len('asdf'))
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var len = (s: string): number => len(s) + 1
END
- CheckDefAndScriptFailure(lines, 'E704:')
+ v9.CheckDefAndScriptFailure(lines, 'E704:')
lines =<< trim END
vim9script
var s:Len = (s: string): number => len(s) + 2
assert_equal(6, Len('asdf'))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
var s:len = (s: string): number => len(s) + 1
END
- CheckScriptFailure(lines, 'E704:')
+ v9.CheckScriptFailure(lines, 'E704:')
enddef
def Test_script_funcref_runtime_type_check()
@@ -2265,10 +2265,10 @@
defcompile
END
# OK at compile time
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# Type check fails at runtime
- CheckScriptFailure(lines + ['Test()'], 'E1012: Type mismatch; expected func(string) but got func(number)')
+ v9.CheckScriptFailure(lines + ['Test()'], 'E1012: Type mismatch; expected func(string) but got func(number)')
enddef
def Test_inc_dec()
@@ -2294,13 +2294,13 @@
assert_equal(1, g:count)
unlet g:count
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var nr = 7
++ nr
END
- CheckDefAndScriptFailure(lines, "E1202: No white space allowed after '++': ++ nr")
+ v9.CheckDefAndScriptFailure(lines, "E1202: No white space allowed after '++': ++ nr")
enddef
def Test_abort_after_error()
@@ -2325,13 +2325,13 @@
def Run_Test_declare_command_line()
# On the command line the type is parsed but not used.
# To get rid of the script context have to run this in another Vim instance.
- var buf = RunVimInTerminal('', {'rows': 6})
+ var buf = g:RunVimInTerminal('', {'rows': 6})
term_sendkeys(buf, ":vim9 var abc: list<list<number>> = [ [1, 2, 3], [4, 5, 6] ]\<CR>")
- TermWait(buf)
+ g:TermWait(buf)
term_sendkeys(buf, ":echo abc\<CR>")
- TermWait(buf)
- WaitForAssert(() => assert_match('\[\[1, 2, 3\], \[4, 5, 6\]\]', term_getline(buf, 6)))
- StopVimInTerminal(buf)
+ g:TermWait(buf)
+ g:WaitForAssert(() => assert_match('\[\[1, 2, 3\], \[4, 5, 6\]\]', term_getline(buf, 6)))
+ g:StopVimInTerminal(buf)
enddef