diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-27 17:57:43 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-27 17:57:43 +0200 |
commit | 37ce6d3a6ab7c7864de6788feb67377e8bbffa63 (patch) | |
tree | 36763c84e5fafd85d0d0860ba8998d8e29191507 | |
parent | 5597ba046790e5ffd76dfc327d7898c56df65d3f (diff) |
patch 8.2.1759: Vim9: Some tests are still using :letv8.2.1759
Problem: Vim9: Some tests are still using :let.
Solution: Change more declarations to use :var.
-rw-r--r-- | src/testdir/test_vim9_expr.vim | 744 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 375 insertions, 371 deletions
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim index fe43e80e1f..deb1fbd876 100644 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -3,6 +3,8 @@ source check.vim source vim9.vim +" TODO: remove later +let v:disallow_let = 1 let g:cond = v:false def FuncOne(arg: number): string @@ -28,8 +30,8 @@ def Test_expr1() assert_equal('one', 0z1234 ? 'one' : 'two') assert_equal('one', [0] ? 'one' : 'two') assert_equal('one', #{x: 0} ? 'one' : 'two') - let var = 1 - assert_equal('one', var ? 'one' : 'two') + var name = 1 + assert_equal('one', name ? 'one' : 'two') assert_equal('two', false ? 'one' : 'two') assert_equal('two', 0 ? 'one' : 'two') @@ -40,33 +42,33 @@ def Test_expr1() assert_equal('two', 0z ? 'one' : 'two') assert_equal('two', [] ? 'one' : 'two') assert_equal('two', {} ? 'one' : 'two') - var = 0 - assert_equal('two', var ? 'one' : 'two') + name = 0 + assert_equal('two', name ? 'one' : 'two') # with constant condition expression is not evaluated assert_equal('one', 1 ? 'one' : xxx) - let Some: func = function('len') - let Other: func = function('winnr') - let Res: func = g:atrue ? Some : Other + var Some: func = function('len') + var Other: func = function('winnr') + var Res: func = g:atrue ? Some : Other assert_equal(function('len'), Res) - let RetOne: func(string): number = function('len') - let RetTwo: func(string): number = function('winnr') - let RetThat: func = g:atrue ? RetOne : RetTwo + var RetOne: func(string): number = function('len') + var RetTwo: func(string): number = function('winnr') + var RetThat: func = g:atrue ? RetOne : RetTwo assert_equal(function('len'), RetThat) - let X = FuncOne - let Y = FuncTwo - let Z = g:cond ? FuncOne : FuncTwo + var X = FuncOne + var Y = FuncTwo + var Z = g:cond ? FuncOne : FuncTwo assert_equal(123, Z(3)) enddef def Test_expr1_vimscript() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 1 + var var = 1 ? 'yes' : 'no' assert_equal('yes', var) @@ -75,7 +77,7 @@ def Test_expr1_vimscript() lines =<< trim END vim9script - let var = v:false + var var = v:false ? 'yes' : 'no' assert_equal('no', var) @@ -84,7 +86,7 @@ def Test_expr1_vimscript() lines =<< trim END vim9script - let var = v:false ? + var var = v:false ? 'yes' : 'no' assert_equal('no', var) @@ -94,27 +96,27 @@ def Test_expr1_vimscript() # check white space lines =<< trim END vim9script - let var = v:true?1:2 + var var = v:true?1:2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true? 1 : 2 + var var = v:true? 1 : 2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ?1 : 2 + var var = v:true ?1 : 2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ? 1: 2 + var var = v:true ? 1: 2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ? 1 :2 + var var = v:true ? 1 :2 END CheckScriptFailure(lines, 'E1004:', 2) @@ -141,23 +143,23 @@ def Test_expr1_vimscript() enddef func Test_expr1_fails() - call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1) + call CheckDefFailure(["var x = 1 ? 'one'"], "Missing ':' after '?'", 1) let msg = "White space required before and after '?'" - call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1) - call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg, 1) - call CheckDefFailure(["let x = 1?'one' : 'two'"], msg, 1) + call CheckDefFailure(["var x = 1? 'one' : 'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ?'one' : 'two'"], msg, 1) + call CheckDefFailure(["var x = 1?'one' : 'two'"], msg, 1) let msg = "White space required before and after ':'" - call CheckDefFailure(["let x = 1 ? 'one': 'two'"], msg, 1) - call CheckDefFailure(["let x = 1 ? 'one' :'two'"], msg, 1) - call CheckDefFailure(["let x = 1 ? 'one':'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ? 'one': 'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ? 'one' :'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ? 'one':'two'"], msg, 1) " missing argument detected even when common type is used call CheckDefFailure([ - \ 'let X = FuncOne', - \ 'let Y = FuncTwo', - \ 'let Z = g:cond ? FuncOne : FuncTwo', + \ 'var X = FuncOne', + \ 'var Y = FuncTwo', + \ 'var Z = g:cond ? FuncOne : FuncTwo', \ 'Z()'], 'E119:', 4) endfunc @@ -199,9 +201,9 @@ enddef def Test_expr2_vimscript() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 0 + var var = 0 || 1 assert_equal(1, var) END @@ -209,7 +211,7 @@ def Test_expr2_vimscript() lines =<< trim END vim9script - let var = v:false + var var = v:false || v:true || v:false assert_equal(v:true, var) @@ -218,7 +220,7 @@ def Test_expr2_vimscript() lines =<< trim END vim9script - let var = v:false || + var var = v:false || v:true || v:false assert_equal(v:true, var) @@ -228,17 +230,17 @@ def Test_expr2_vimscript() # check white space lines =<< trim END vim9script - let var = v:true||v:true + var var = v:true||v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ||v:true + var var = v:true ||v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true|| v:true + var var = v:true|| v:true END CheckScriptFailure(lines, 'E1004:', 2) @@ -277,11 +279,11 @@ enddef func Test_expr2_fails() let msg = "White space required before and after '||'" - call CheckDefFailure(["let x = 1||2"], msg, 1) - call CheckDefFailure(["let x = 1 ||2"], msg, 1) - call CheckDefFailure(["let x = 1|| 2"], msg, 1) + call CheckDefFailure(["var x = 1||2"], msg, 1) + call CheckDefFailure(["var x = 1 ||2"], msg, 1) + call CheckDefFailure(["var x = 1|| 2"], msg, 1) - call CheckDefFailure(["let x = 1 || xxx"], 'E1001:', 1) + call CheckDefFailure(["var x = 1 || xxx"], 'E1001:', 1) endfunc " test && @@ -320,9 +322,9 @@ enddef def Test_expr3_vimscript() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 0 + var var = 0 && 1 assert_equal(0, var) END @@ -330,7 +332,7 @@ def Test_expr3_vimscript() lines =<< trim END vim9script - let var = v:true + var var = v:true && v:true && v:true assert_equal(v:true, var) @@ -339,7 +341,7 @@ def Test_expr3_vimscript() lines =<< trim END vim9script - let var = v:true && + var var = v:true && v:true && v:true assert_equal(v:true, var) @@ -349,17 +351,17 @@ def Test_expr3_vimscript() # check white space lines =<< trim END vim9script - let var = v:true&&v:true + var var = v:true&&v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true &&v:true + var var = v:true &&v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true&& v:true + var var = v:true&& v:true END CheckScriptFailure(lines, 'E1004:', 2) @@ -402,9 +404,9 @@ enddef func Test_expr3_fails() let msg = "White space required before and after '&&'" - call CheckDefFailure(["let x = 1&&2"], msg, 1) - call CheckDefFailure(["let x = 1 &&2"], msg, 1) - call CheckDefFailure(["let x = 1&& 2"], msg, 1) + call CheckDefFailure(["var x = 1&&2"], msg, 1) + call CheckDefFailure(["var x = 1 &&2"], msg, 1) + call CheckDefFailure(["var x = 1&& 2"], msg, 1) endfunc " global variables to use for tests with the "any" type @@ -425,8 +427,8 @@ let adict = #{aaa: 2, bbb: 8} " test == comperator def Test_expr4_equal() - let trueVar = true - let falseVar = false + var trueVar = true + var falseVar = false assert_equal(true, true == true) assert_equal(false, true == false) @@ -441,8 +443,8 @@ def Test_expr4_equal() assert_equal(true, g:anone == v:none) assert_equal(false, v:none == g:anull) - let nr0 = 0 - let nr61 = 61 + var nr0 = 0 + var nr61 = 61 assert_equal(false, 2 == 0) assert_equal(false, 2 == nr0) assert_equal(true, 61 == 61) @@ -451,7 +453,7 @@ def Test_expr4_equal() assert_equal(false, 61 == g:anint) if has('float') - let ff = 0.3 + var ff = 0.3 assert_equal(true, ff == 0.3) assert_equal(false, 0.4 == ff) assert_equal(true, 0.1 == g:afloat) @@ -480,10 +482,10 @@ def Test_expr4_equal() assert_equal(false, 'abc' ==# 'ABC') set noignorecase - CheckDefFailure(["let x = 'a' == xxx"], 'E1001:', 1) - CheckDefExecFailure(['let items: any', 'eval 1', 'eval 2', 'if items == []', 'endif'], 'E691:', 4) + CheckDefFailure(["var x = 'a' == xxx"], 'E1001:', 1) + CheckDefExecFailure(['var items: any', 'eval 1', 'eval 2', 'if items == []', 'endif'], 'E691:', 4) - let bb = 0z3f + var bb = 0z3f assert_equal(true, 0z3f == bb) assert_equal(false, bb == 0z4f) assert_equal(true, g:ablob == 0z01ab) @@ -510,8 +512,8 @@ def Test_expr4_equal() assert_equal(false, function('g:Test_expr4_equal', [123]) == function('g:Test_expr4_is', [123])) assert_equal(false, function('g:Test_expr4_equal', [123]) == function('g:Test_expr4_equal', [999])) - let OneFunc: func - let TwoFunc: func + var OneFunc: func + var TwoFunc: func OneFunc = function('len') TwoFunc = function('len') assert_equal(true, OneFunc('abc') == TwoFunc('123')) @@ -519,8 +521,8 @@ enddef " test != comperator def Test_expr4_notequal() - let trueVar = true - let falseVar = false + var trueVar = true + var falseVar = false assert_equal(false, true != true) assert_equal(true, true != false) @@ -535,8 +537,8 @@ def Test_expr4_notequal() assert_equal(false, g:anone != v:none) assert_equal(true, v:none != g:anull) - let nr55 = 55 - let nr0 = 55 + var nr55 = 55 + var nr0 = 55 assert_equal(true, 2 != 0) assert_equal(true, 2 != nr0) assert_equal(false, 55 != 55) @@ -545,7 +547,7 @@ def Test_expr4_notequal() assert_equal(true, 61 != g:anint) if has('float') - let ff = 0.3 + var ff = 0.3 assert_equal(false, 0.3 != ff) assert_equal(true, 0.4 != ff) assert_equal(false, 0.1 != g:afloat) @@ -569,7 +571,7 @@ def Test_expr4_notequal() assert_equal(true, 'abc' != 'ABC') set noignorecase - let bb = 0z3f + var bb = 0z3f assert_equal(false, 0z3f != bb) assert_equal(true, bb != 0z4f) assert_equal(false, g:ablob != 0z01ab) @@ -604,7 +606,7 @@ def Test_expr4_greater() 1) assert_false(2 > 2) assert_false(2 > 3) - let nr2 = 2 + var nr2 = 2 assert_true(nr2 > 0) assert_true(nr2 > 1) @@ -612,7 +614,7 @@ def Test_expr4_greater() assert_false(nr2 > 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_true(ff > 0.0) assert_true(ff > 1.0) assert_false(ff > 2.0) @@ -626,12 +628,12 @@ def Test_expr4_greaterequal() assert_true(2 >= 2) assert_false(2 >= 3) - let nr2 = 2 + var nr2 = 2 assert_true(nr2 >= 0) assert_true(nr2 >= 2) assert_false(nr2 >= 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_true(ff >= 0.0) assert_true(ff >= 2.0) assert_false(ff >= 3.0) @@ -645,12 +647,12 @@ def Test_expr4_smaller() 2) assert_true(2 < 3) - let nr2 = 2 + var nr2 = 2 assert_false(nr2 < 0) assert_false(nr2 < 2) assert_true(nr2 < 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_false(ff < 0.0) assert_false(ff < 2.0) assert_true(ff < 3.0) @@ -665,13 +667,13 @@ def Test_expr4_smallerequal() assert_true(2 <= 2) assert_true(2 <= 3) - let nr2 = 2 + var nr2 = 2 assert_false(nr2 <= 0) assert_false(nr2 <= 1) assert_true(nr2 <= 2) assert_true(nr2 <= 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_false(ff <= 0.0) assert_false(ff <= 1.0) assert_true(ff <= 2.0) @@ -699,44 +701,44 @@ enddef " test is comperator def Test_expr4_is() - let mylist = [2] + var mylist = [2] assert_false(mylist is [2]) - let other = mylist + var other = mylist assert_true(mylist is other) - let myblob = 0z1234 + var myblob = 0z1234 assert_false(myblob is 0z1234) - let otherblob = myblob + var otherblob = myblob assert_true(myblob is otherblob) enddef " test isnot comperator def Test_expr4_isnot() - let mylist = [2] + var mylist = [2] assert_true('2' isnot '0') assert_true(mylist isnot [2]) - let other = mylist + var other = mylist assert_false(mylist isnot other) - let myblob = 0z1234 + var myblob = 0z1234 assert_true(myblob isnot 0z1234) - let otherblob = myblob + var otherblob = myblob assert_false(myblob isnot otherblob) enddef def RetVoid() - let x = 1 + var x = 1 enddef def Test_expr4_vim9script() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 0 + var var = 0 < 1 assert_equal(true, var) END @@ -744,7 +746,7 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let var = 123 + var var = 123 != 123 assert_equal(false, var) END @@ -752,7 +754,7 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let var = 123 == + var var = 123 == 123 assert_equal(true, var) END @@ -760,19 +762,19 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let list = [1, 2, 3] - let var = list + var list = [1, 2, 3] + var name = list is list - assert_equal(true, var) + assert_equal(true, name) END CheckScriptSuccess(lines) lines =<< trim END vim9script - let myblob = 0z1234 - let var = myblob + var myblob = 0z1234 + var name = myblob isnot 0z11 - assert_equal(true, var) + assert_equal(true, name) END CheckScriptSuccess(lines) @@ -854,7 +856,7 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let line = 'abc' + var line = 'abc' echo line[1] =~ '\w' END CheckScriptSuccess(lines) @@ -862,71 +864,71 @@ enddef func Test_expr4_fails() let msg = "White space required before and after '>'" - call CheckDefFailure(["let x = 1>2"], msg, 1) - call CheckDefFailure(["let x = 1 >2"], msg, 1) - call CheckDefFailure(["let x = 1> 2"], msg, 1) + call CheckDefFailure(["var x = 1>2"], msg, 1) + call CheckDefFailure(["var x = 1 >2"], msg, 1) + call CheckDefFailure(["var x = 1> 2"], msg, 1) let msg = "White space required before and after '=='" - call CheckDefFailure(["let x = 1==2"], msg, 1) - call CheckDefFailure(["let x = 1 ==2"], msg, 1) - call CheckDefFailure(["let x = 1== 2"], msg, 1) + call CheckDefFailure(["var x = 1==2"], msg, 1) + call CheckDefFailure(["var x = 1 ==2"], msg, 1) + call CheckDefFailure(["var x = 1== 2"], msg, 1) let msg = "White space required before and after 'is'" - call CheckDefFailure(["let x = '1'is'2'"], msg, 1) - call CheckDefFailure(["let x = '1' is'2'"], msg, 1) - call CheckDefFailure(["let x = '1'is '2'"], msg, 1) + call CheckDefFailure(["var x = '1'is'2'"], msg, 1) + call CheckDefFailure(["var x = '1' is'2'"], msg, 1) + call CheckDefFailure(["var x = '1'is '2'"], msg, 1) let msg = "White space required before and after 'isnot'" - call CheckDefFailure(["let x = '1'isnot'2'"], msg, 1) - call CheckDefFailure(["let x = '1' isnot'2'"], msg, 1) - call CheckDefFailure(["let x = '1'isnot '2'"], msg, 1) - - call CheckDefFailure(["let x = 1 is# 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 is? 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 isnot# 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 isnot? 2"], 'E15:', 1) - - call CheckDefFailure(["let x = 1 == '2'"], 'Cannot compare number with string', 1) - call CheckDefFailure(["let x = '1' == 2"], 'Cannot compare string with number', 1) - call CheckDefFailure(["let x = 1 == RetVoid()"], 'Cannot compare number with void', 1) - call CheckDefFailure(["let x = RetVoid() == 1"], 'Cannot compare void with number', 1) - - call CheckDefFailure(["let x = true > false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true >= false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true < false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true <= false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true =~ false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true !~ false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true is false"], 'Cannot use "is" with bool', 1) - call CheckDefFailure(["let x = true isnot false"], 'Cannot use "isnot" with bool', 1) - - call CheckDefFailure(["let x = v:none is v:null"], 'Cannot use "is" with special', 1) - call CheckDefFailure(["let x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1) - call CheckDefFailure(["let x = 123 is 123"], 'Cannot use "is" with number', 1) - call CheckDefFailure(["let x = 123 isnot 123"], 'Cannot use "isnot" with number', 1) + call CheckDefFailure(["var x = '1'isnot'2'"], msg, 1) + call CheckDefFailure(["var x = '1' isnot'2'"], msg, 1) + call CheckDefFailure(["var x = '1'isnot '2'"], msg, 1) + + call CheckDefFailure(["var x = 1 is# 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 is? 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 isnot# 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 isnot? 2"], 'E15:', 1) + + call CheckDefFailure(["var x = 1 == '2'"], 'Cannot compare number with string', 1) + call CheckDefFailure(["var x = '1' == 2"], 'Cannot compare string with number', 1) + call CheckDefFailure(["var x = 1 == RetVoid()"], 'Cannot compare number with void', 1) + call CheckDefFailure(["var x = RetVoid() == 1"], 'Cannot compare void with number', 1) + + call CheckDefFailure(["var x = true > false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true >= false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true < false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true <= false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true =~ false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true !~ false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true is false"], 'Cannot use "is" with bool', 1) + call CheckDefFailure(["var x = true isnot false"], 'Cannot use "isnot" with bool', 1) + + call CheckDefFailure(["var x = v:none is v:null"], 'Cannot use "is" with special', 1) + call CheckDefFailure(["var x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1) + call CheckDefFailure(["var x = 123 is 123"], 'Cannot use "is" with number', 1) + call CheckDefFailure(["var x = 123 isnot 123"], 'Cannot use "isnot" with number', 1) if has('float') - call CheckDefFailure(["let x = 1.3 is 1.3"], 'Cannot use "is" with float', 1) - call CheckDefFailure(["let x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1) + call CheckDefFailure(["var x = 1.3 is 1.3"], 'Cannot use "is" with float', 1) + call CheckDefFailure(["var x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1) endif - call CheckDefFailure(["let x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 < 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 <= 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 =~ 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 !~ 0z34"], 'Cannot compare blob with blob', 1) - - call CheckDefFailure(["let x = [13] > [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] >= [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] < [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] <= [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] =~ [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] !~ [88]"], 'Cannot compare list with list', 1) - - call CheckDefFailure(['let j: job', 'let chan: channel', 'let r = j == chan'], 'Cannot compare job with channel', 3) - call CheckDefFailure(['let j: job', 'let x: list<any>', 'let r = j == x'], 'Cannot compare job with list', 3) - call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func', 3) - call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func', 3) + call CheckDefFailure(["var x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 < 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 <= 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 =~ 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 !~ 0z34"], 'Cannot compare blob with blob', 1) + + call CheckDefFailure(["var x = [13] > [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] >= [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] < [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] <= [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] =~ [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] !~ [88]"], 'Cannot compare list with list', 1) + + call CheckDefFailure(['var j: job', 'var chan: channel', 'var r = j == chan'], 'Cannot compare job with channel', 3) + call CheckDefFailure(['var j: job', 'var x: list<any>', 'var r = j == x'], 'Cannot compare job with list', 3) + call CheckDefFailure(['var j: job', 'var Xx: func', 'var r = j == Xx'], 'Cannot compare job with func', 3) + call CheckDefFailure(['var j: job', 'var Xx: func', 'var r = j == Xx'], 'Cannot compare job with func', 3) endfunc " test addition, subtraction, concatenation @@ -970,7 +972,7 @@ def Test_expr5() assert_equal(0z01ab01ab, g:ablob + g:ablob) # concatenate non-constant to constant - let save_path = &path + var save_path = &path &path = 'b' assert_equal('ab', 'a' .. &path) &path = save_path @@ -984,9 +986,9 @@ enddef def Test_expr5_vim9script() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 11 + var var = 11 + 77 - 22 assert_equal(66, var) @@ -995,7 +997,7 @@ def Test_expr5_vim9script() lines =<< trim END vim9script - let var = 11 + + var var = 11 + 77 - 22 assert_equal(66, var) @@ -1004,7 +1006,7 @@ def Test_expr5_vim9script() lines =<< trim END vim9script - let var = 'one' + var var = 'one' .. 'two' assert_equal('onetwo', var) END @@ -1112,7 +1114,7 @@ def Test_expr5_vim9script_channel() if !has('channel') MissingFeature 'float' else - let lines =<< trim END + var lines =<< trim END vim9script echo 'a' .. test_null_job() END @@ -1152,40 +1154,40 @@ enddef func Test_expr5_fails() let msg = "White space required before and after '+'" - call CheckDefFailure(["let x = 1+2"], msg, 1) - call CheckDefFailure(["let x = 1 +2"], msg, 1) - call CheckDefFailure(["let x = 1+ 2"], msg, 1) + call CheckDefFailure(["var x = 1+2"], msg, 1) + call CheckDefFailure(["var x = 1 +2"], msg, 1) + call CheckDefFailure(["var x = 1+ 2"], msg, 1) let msg = "White space required before and after '-'" - call CheckDefFailure(["let x = 1-2"], msg, 1) - call CheckDefFailure(["let x = 1 -2"], msg, 1) - call CheckDefFailure(["let x = 1- 2"], msg, 1) + call CheckDefFailure(["var x = 1-2"], msg, 1) + call CheckDefFailure(["var x = 1 -2"], msg, 1) + call CheckDefFailure(["var x = 1- 2"], msg, 1) let msg = "White space required before and after '..'" - call CheckDefFailure(["let x = '1'..'2'"], msg, 1) - call CheckDefFailure(["let x = '1' ..'2'"], msg, 1) - call CheckDefFailure(["let x = '1'.. '2'"], msg, 1) - - call CheckDefFailure(["let x = 0z1122 + 33"], 'E1051', 1) - call CheckDefFailure(["let x = 0z1122 + [3]"], 'E1051', 1) - call CheckDefFailure(["let x = 0z1122 + 'asd'"], 'E1051', 1) - call CheckDefFailure(["let x = 33 + 0z1122"], 'E1051', 1) - call CheckDefFailure(["let x = [3] + 0z1122"], 'E1051', 1) - call CheckDefFailure(["let x = 'asdf' + 0z1122"], 'E1051', 1) - call CheckDefFailure(["let x = 6 + xxx"], 'E1001', 1) - - call CheckDefFailure(["let x = 'a' .. [1]"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. #{a: 1}"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. test_void()"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. 0z32"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. function('len')"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. function('len', ['a'])"], 'E1105', 1) + call CheckDefFailure(["var x = '1'..'2'"], msg, 1) + call CheckDefFailure(["var x = '1' ..'2'"], msg, 1) + call CheckDefFailure(["var x = '1'.. '2'"], msg, 1) + + call CheckDefFailure(["var x = 0z1122 + 33"], 'E1051', 1) + call CheckDefFailure(["var x = 0z1122 + [3]"], 'E1051', 1) + call CheckDefFailure(["var x = 0z1122 + 'asd'"], 'E1051', 1) + call CheckDefFailure(["var x = 33 + 0z1122"], 'E1051', 1) + call CheckDefFailure(["var x = [3] + 0z1122"], 'E1051', 1) + call CheckDefFailure(["var x = 'asdf' + 0z1122"], 'E1051', 1) + call CheckDefFailure(["var x = 6 + xxx"], 'E1001', 1) + + call CheckDefFailure(["var x = 'a' .. [1]"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. #{a: 1}"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. test_void()"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. 0z32"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. function('len')"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. function('len', ['a'])"], 'E1105', 1) endfunc func Test_expr5_fails_channel() CheckFeature channel - call CheckDefFailure(["let x = 'a' .. test_null_job()"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. test_null_channel()"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. test_null_job()"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. test_null_channel()"], 'E1105', 1) endfunc " test multiply, divide, modulo @@ -1213,27 +1215,27 @@ def Test_expr6() assert_equal(4, 6 * 4 / 6) - let x = [2] - let y = [3] + var x = [2] + var y = [3] assert_equal(5, x[0] + y[0]) assert_equal(6, x[0] * y[0]) if has('float') - let xf = [2.0] - let yf = [3.0] + var xf = [2.0] + var yf = [3.0] assert_equal(5.0, xf[0] + yf[0]) assert_equal(6.0, xf[0] * yf[0]) endif - CheckDefFailure(["let x = 6 * xxx"], 'E1001', 1) + CheckDefFailure(["var x = 6 * xxx"], 'E1001', 1) enddef def Test_expr6_vim9script() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 11 + var var = 11 * 22 / 3 assert_equal(80, var) @@ -1242,7 +1244,7 @@ def Test_expr6_vim9script() lines =<< trim END vim9script - let var = 25 + var var = 25 % 10 assert_equal(5, var) END @@ -1250,7 +1252,7 @@ def Test_expr6_vim9script() lines =<< trim END vim9script - let var = 11 * + var var = 11 * 22 / 3 assert_equal(80, var) @@ -1307,45 +1309,45 @@ enddef func Test_expr6_fails() let msg = "White space required before and after '*'" - call CheckDefFailure(["let x = 1*2"], msg, 1) - call CheckDefFailure(["let x = 1 *2"], msg, 1) - call CheckDefFailure(["let x = 1* 2"], msg, 1) + call CheckDefFailure(["var x = 1*2"], msg, 1) + call CheckDefFailure(["var x = 1 *2"], msg, 1) + call CheckDefFailure(["var x = 1* 2"], msg, 1) let msg = "White space required before and after '/'" - call CheckDefFailure(["let x = 1/2"], msg, 1) - call CheckDefFailure(["let x = 1 /2"], msg, 1) - call CheckDefFailure(["let x = 1/ 2"], msg, 1) + call CheckDefFailure(["var x = 1/2"], msg, 1) + call CheckDefFailure(["var x = 1 /2"], msg, 1) + call CheckDefFailure(["var x = 1/ 2"], msg, 1) let msg = "White space required before and after '%'" - call CheckDefFailure(["let x = 1%2"], msg, 1) - call CheckDefFailure(["let x = 1 %2"], msg, 1) - call CheckDefFailure(["let x = 1% 2"], msg, 1) + call CheckDefFailure(["var x = 1%2"], msg, 1) + call CheckDefFailure(["var x = 1 %2"], msg, 1) + call CheckDefFailure(["var x = 1% 2"], msg, 1) - call CheckDefFailure(["let x = '1' * '2'"], 'E1036:', 1) - call CheckDefFailure(["let x = '1' / '2'"], 'E1036:', 1) - call CheckDefFailure(["let x = '1' % '2'"], 'E1035:', 1) + call CheckDefFailure(["var x = '1' * '2'"], 'E1036:', 1) + call CheckDefFailure(["var x = '1' / '2'"], 'E1036:', 1) + call CheckDefFailure(["var x = '1' % '2'"], 'E1035:', 1) - call CheckDefFailure(["let x = 0z01 * 0z12"], 'E1036:', 1) - call CheckDefFailure(["let x = 0z01 / 0z12"], 'E1036:', 1) - call CheckDefFailure(["let x = 0z01 % 0z12"], 'E1035:', 1) + call CheckDefFailure(["var x = 0z01 * 0z12"], 'E1036:', 1) + call CheckDefFailure(["var x = 0z01 / 0z12"], 'E1036:', 1) + call CheckDefFailure(["var x = 0z01 % 0z12"], 'E1035:', 1) - call CheckDefFailure(["let x = [1] * [2]"], 'E1036:', 1) - call CheckDefFailure(["let x = [1] / [2]"], 'E1036:', 1) - call CheckDefFailure(["let x = [1] % [2]"], 'E1035:', 1) + call CheckDefFailure(["var x = [1] * [2]"], 'E1036:', 1) + call CheckDefFailure(["var x = [1] / [2]"], 'E1036:', 1) + call CheckDefFailure(["var x = [1] % [2]"], 'E1035:', 1) - call CheckDefFailure(["let x = #{one: 1} * #{two: 2}"], 'E1036:', 1) - call CheckDefFailure(["let x = #{one: 1} / #{two: 2}"], 'E1036:', 1) - call CheckDefFailure(["let x = #{one: 1} % #{two: 2}"], 'E1035:', 1) + call CheckDefFailure(["var x = #{one: 1} * #{two: 2}"], 'E1036:', 1) + call CheckDefFailure(["var x = #{one: 1} / #{two: 2}"], 'E1036:', 1) + call CheckDefFailure(["var x = #{one: 1} % #{two: 2}"], 'E1035:', 1) - call CheckDefFailure(["let x = 0xff[1]"], 'E1107:', 1) + call CheckDefFailure(["var x = 0xff[1]"], 'E1107:', 1) if has('float') - call CheckDefFailure(["let x = 0.7[1]"], 'E1107:', 1) + call CheckDefFailure(["var x = 0.7[1]"], 'E1107:', 1) endif endfunc func Test_expr6_float_fails() CheckFeature float - call CheckDefFailure(["let x = 1.0 % 2"], 'E1035:', 1) + call CheckDefFailure(["var x = 1.0 % 2"], 'E1035:', 1) endfunc " define here to use old style parsing @@ -1378,14 +1380,14 @@ let $TESTVAR = 'testvar' " type casts def Test_expr7t() - let ls: list<string> = ['a', <string>g:string_empty] - let ln: list<number> = [<number>g:anint, <number>g:thefour] - let nr = <number>234 + var ls: list<string> = ['a', <string>g:string_empty] + var ln: list<number> = [<number>g:anint, <number>g:thefour] + var nr = <number>234 assert_equal(234, nr) - CheckDefFailure(["let x = <nr>123"], 'E1010:', 1) - CheckDefFailure(["let x = <number >123"], 'E1068:', 1) - CheckDefFailure(["let x = <number 123"], 'E1104:', 1) + CheckDefFailure(["var x = <nr>123"], 'E1010:', 1) + CheckDefFailure(["var x = <number >123"], 'E1068:', 1) + CheckDefFailure(["var x = <number 123"], 'E1104:', 1) enddef " test low level expression @@ -1417,7 +1419,7 @@ def Test_expr7_blob() assert_equal(g:blob_one, 0z01) assert_equal(g:blob_long, 0z0102.0304) - CheckDefFailure(["let x = 0z123"], 'E973:', 1) + CheckDefFailure(["var x = 0z123"], 'E973:', 1) enddef def Test_expr7_string() @@ -1430,18 +1432,18 @@ def Test_expr7_string() assert_equal(g:string_long, "abcdefghijklm") assert_equal(g:string_special, "ab\ncd\ref\ekk") - CheckDefFailure(['let x = "abc'], 'E114:', 1) - CheckDefFailure(["let x = 'abc"], 'E115:', 1) + CheckDefFailure(['var x = "abc'], 'E114:', 1) + CheckDefFailure(["var x = 'abc"], 'E115:', 1) enddef def Test_expr7_vimvar() - let old: list<string> = v:oldfiles - let compl: dict<any> = v:completed_item + var old: list<string> = v:oldfiles + var compl: dict<any> = v:completed_item - CheckDefFailure(["let old: list<number> = v:oldfiles"], 'E1012: Type mismatch; expected list<number> but got list<string>', 1) + CheckDefFailure(["var old: list<number> = v:oldfiles"], 'E1012: Type mismatch; expected list<number> but got list<string>', 1) new exec "normal! afoo fo\<C-N>\<Esc>" - CheckDefExecFailure(["let old: dict<number> = v:completed_item"], 'E1012: Type mismatch; expected dict<number> but got dict<string>', 1) + CheckDefExecFailure(["var old: dict<number> = v:completed_item"], 'E1012: Type mismatch; expected dict<number> but got dict<string>', 1) bwipe! enddef @@ -1472,10 +1474,10 @@ def Test_expr7_special() enddef def Test_expr7_special_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let t = true - let f = false + var t = true + var f = false assert_equal(v:true, true) assert_equal(true, t) assert_equal(v:false, false) @@ -1497,15 +1499,15 @@ def Test_expr7_list() assert_equal(g:list_empty, []) assert_equal(g:list_empty, [ ]) - let numbers: list<number> = [1, 2, 3] + var numbers: list<number> = [1, 2, 3] numbers = [1] numbers = [] - let strings: list<string> = ['a', 'b', 'c'] + var strings: list<string> = ['a', 'b', 'c'] strings = ['x'] strings = [] - let mixed: list<any> = [1, 'b', false,] + var mixed: list<any> = [1, 'b', false,] assert_equal(g:list_mixed, mixed) assert_equal('b', mixed[1]) @@ -1513,7 +1515,7 @@ def Test_expr7_list() 2] [3, 4] - let llstring: list<list<string>> = [['text'], []] + var llstring: list<list<string>> = [['text'], []] llstring = [[], ['text']] llstring = [[], []] @@ -1521,30 +1523,30 @@ def Test_expr7_list() g:rangelist = range(3) CheckDefExecFailure(["var x: list<string> = g:rangelist"], 'E1012: Type mismatch; expected list<string> but got list<number>', 1) - CheckDefFailure(["let x = 1234[3]"], 'E1107:', 1) - CheckDefExecFailure(["let x = g:anint[3]"], 'E1062:', 1) + CheckDefFailure(["var x = 1234[3]"], 'E1107:', 1) + CheckDefExecFailure(["var x = g:anint[3]"], 'E1062:', 1) - CheckDefFailure(["let x = g:list_mixed[xxx]"], 'E1001:', 1) + CheckDefFailure(["var x = g:list_mixed[xxx]"], 'E1001:', 1) - CheckDefFailure([" |