Mercurial > vim
diff src/testdir/test_vim9_assign.vim @ 27457:4c16acb2525f v8.2.4257
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Commit: https://github.com/vim/vim/commit/62aec93bfdb9e1b40d03a6d2e8e9511f8b1bdb2d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 29 21:45:34 2022 +0000
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 29 Jan 2022 23:00:05 +0100 |
parents | 4c1bdee75bed |
children | a14c4d3e3260 |
line wrap: on
line diff
--- 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 @@ def Test_assignment_bool() 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 @@ def Test_syntax() 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 @@ def Test_assignment() assert_equal('barfoo', $ENVVAR) $ENVVAR = '' END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) s:appendToMe ..= 'yyy' assert_equal('xxxyyy', s:appendToMe) @@ -155,7 +155,7 @@ def Test_assignment() 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 @@ def Test_assignment() &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 @@ def Test_assignment() 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 @@ def Test_assignment() enddef defcompile END - CheckScriptFailure(lines, 'E1089:') + v9.CheckScriptFailure(lines, 'E1089:') g:inc_counter += 1 assert_equal(2, g:inc_counter) @@ -232,14 +232,14 @@ def Test_assignment() $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 @@ def Test_float_and_number() --f assert_equal(1.0, f) END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) endif enddef @@ -275,18 +275,18 @@ def Test_assign_concat() 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 @@ def Test_assign_register() @@ = '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 @@ def Test_skipped_assignment() endwhile endfor END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) enddef def Test_assign_keep_type() @@ -330,7 +330,7 @@ def Test_assign_keep_type() l = [123] l->add('string') END - CheckScriptFailure(lines, 'E1012:', 4) + v9.CheckScriptFailure(lines, 'E1012:', 4) enddef def Test_assign_unpack() @@ -382,62 +382,62 @@ def Test_assign_unpack() 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 @@ def Test_assign_unpack() 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 @@ def Test_assign_unpack() 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 @@ def Test_assign_unpack() 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 @@ def Test_assign_linebreak() 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 @@ def Test_assign_linebreak() ->copy() ->copy() END - CheckDefFailure(lines, 'E1012:', 2) + v9.CheckDefFailure(lines, 'E1012:', 2) lines =<< trim END var x: any @@ -494,7 +494,7 @@ def Test_assign_linebreak() + 4 + 5 END - CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203:'], 2) + v9.CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203:'], 2) enddef def Test_assign_index() @@ -519,7 +519,7 @@ def Test_assign_index() 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 @@ def Test_assign_index() 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 @@ def Test_assign_index() 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 @@ def Test_assign_index() 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 @@ def Test_init_in_for_loop() endfor assert_equal([0, 0], l) END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var l: list<number> = [] @@ -608,7 +608,7 @@ def Test_init_in_for_loop() endfor assert_equal([0, 0], l) END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var l: list<number> = [] @@ -619,7 +619,7 @@ def Test_init_in_for_loop() endfor assert_equal([3, 3], l) END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) enddef def Test_extend_list() @@ -631,14 +631,14 @@ def Test_extend_list() 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 @@ def Test_extend_list() Func() assert_equal(['a', 'b'], list) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script var list: list<string> @@ -660,7 +660,7 @@ def Test_extend_list() Func() assert_equal(['x', 'b'], list) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -668,13 +668,13 @@ def Test_extend_list() 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 @@ def Test_extend_list() 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 @@ def Test_extend_dict() d2['one'] = 1 assert_equal({one: 1}, d2) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -713,13 +713,13 @@ def Test_extend_dict() 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 @@ def Test_assignment_list() 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 @@ def Test_assignment_list() 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 @@ def Test_assignment_list() 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 @@ def Test_list_declaration() 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 @@ def Test_list_declaration() 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 @@ def Test_assignment_partial() 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 @@ def Test_assignment_partial() assert_equal('func()', typename(Ref)) Ref() END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -921,7 +921,7 @@ def Test_assignment_partial() assert_equal(0, nres) assert_equal('x', sres) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -933,7 +933,7 @@ def Test_assignment_partial() 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 @@ def Test_assignment_list_vim9script() [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 @@ def Test_assignment_dict() dd.two = 2 assert_equal({two: 2}, dd) END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var d = {dd: {}} @@ -990,19 +990,19 @@ def Test_assignment_dict() 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 @@ def Test_assignment_dict() 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 @@ def Test_assignment_dict() enddef assert_equal({a: 43}, FillDict()) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -1055,7 +1055,7 @@ def Test_assignment_dict() FillDict() assert_equal({a: 43}, test) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) # assignment to global dict lines =<< trim END @@ -1067,7 +1067,7 @@ def Test_assignment_dict() enddef assert_equal({a: 43}, FillDict()) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) # assignment to buffer dict lines =<< trim END @@ -1079,25 +1079,25 @@ def Test_assignment_dict() 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 @@ def Test_assignment_local() enddef call Test_assignment_local_internal() END - CheckScriptSuccess(script_lines) + v9.CheckScriptSuccess(script_lines) enddef def Test_assignment_default() @@ -1231,7 +1231,7 @@ def Test_assignment_var_list() 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 @@ def Test_assignment_var_list() 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 @@ def Test_assignment_vim9script() to_var = 3 assert_equal(3, to_var) END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -1307,7 +1307,7 @@ def Test_assignment_vim9script() 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 @@ def Mess(): string 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 @@ def Test_assign_list() 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 @@ def Test_assign_dict() 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 @@ def Test_assign_dict_unknown_type() enddef Func() END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) lines =<< trim END vim9script @@ -1486,7 +1486,7 @@ def Test_assign_dict_unknown_type() enddef Func() END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) enddef def Test_assign_dict_with_op() @@ -1532,7 +1532,7 @@ def Test_assign_dict_with_op() 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 @@ def Test_assign_list_with_op() 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 @@ def Test_assign_with_op_fails() 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 @@ def Test_assign_lambda() 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 @@ def Test_heredoc() 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 @@ def Test_heredoc() 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 @@ def Test_heredoc() 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 @@ def Test_heredoc() 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 @@ def Test_var_missing_type() 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 @@ def Test_var_declaration() 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 @@ def Test_var_declaration_fails() 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 @@ def Test_var_declaration_fails() 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 @@ def Test_var_declaration_fails() 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 @@ def Test_var_declaration_fails() 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 @@ def Test_var_declaration_fails() 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 @@ def Test_script_local_in_legacy() 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 @@ def Test_script_local_in_legacy() 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 @@ def Test_script_local_in_legacy() 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 @@ def Test_var_type_check() 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 @@ def Test_var_type_check() enddef defcompile END - CheckScriptSuccess(lines) + v9.CheckScriptSuccess(lines) enddef let g:dict_number = #{one: 1, two: 2} @@ -1963,11 +1963,11 @@ def Test_var_list_dict_type() 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 @@ def Test_unlet() assert_false(exists('s:somevar')) unlet! s:somevar - CheckDefExecFailure([ + v9.CheckDefExecFailure([ 'var dd = 111', 'unlet dd', ], 'E1081:', 2) @@ -2013,41 +2013,41 @@ def Test_unlet() 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 @@ def Test_unlet() 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 @@ def Test_unlet() 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 @@ def Test_unlet() 'enddef', 'defcompile', ], 'E1081:') - CheckScriptFailure([ + v9.CheckScriptFailure([ 'vim9script', 'var svar = 123', 'func Func()', @@ -2116,7 +2116,7 @@ def Test_unlet() 'endfunc', 'Func()', ], 'E1081:') - CheckScriptFailure([ + v9.CheckScriptFailure([ 'vim9script', 'var svar = 123', 'def Func()', @@ -2125,7 +2125,7 @@ def Test_unlet() 'defcompile', ], 'E1081:') - CheckScriptFailure([ + v9.CheckScriptFailure([ 'vim9script', 'def Delcount(dict: dict<any>)', ' unlet dict.count', @@ -2133,7 +2133,7 @@ def Test_unlet() 'Delcount(v:)', ], 'E742:') - CheckScriptFailure([ + v9.CheckScriptFailure([ 'vim9script', 'def DelChangedtick(dict: dict<any>)', ' unlet dict.changedtick', @@ -2150,7 +2150,7 @@ def Test_unlet() enddef defcompile END - CheckScriptFailure(lines, 'E1260:', 1) + v9.CheckScriptFailure(lines, 'E1260:', 1) delete('XunletExport.vim') $ENVVAR = 'foobar' @@ -2165,26 +2165,26 @@ def Test_expr_error_no_assign() 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 @@ def Test_assign_command_modifier() 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 @@ def Test_assign_alt_buf_register() @# = b2 assert_equal(b2, bufnr('#')) END - CheckDefAndScriptSuccess(lines) + v9.CheckDefAndScriptSuccess(lines) enddef def Test_script_funcref_case() @@ -2233,25 +2233,25 @@ def Test_script_funcref_case() 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 @@ def Test_script_funcref_runtime_type_che 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 @@ def Test_inc_dec() 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 @@ endfunc 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