0
0
mirror of https://github.com/vim/vim.git synced 2025-10-02 05:04:20 -04:00

patch 8.2.1176: Vim9: not enough type checking in Vim9 script

Problem:    Vim9: not enough type checking in Vim9 script.
Solution:   Use same type checking as in a :def function.
This commit is contained in:
Bram Moolenaar
2020-07-10 22:45:38 +02:00
parent 7ff78465f7
commit 543e6f3467
5 changed files with 41 additions and 3 deletions

View File

@@ -557,7 +557,7 @@ def RetVoid()
enddef
def Test_expr4_vimscript()
" only checks line continuation
" check line continuation
let lines =<< trim END
vim9script
let var = 0
@@ -599,6 +599,25 @@ def Test_expr4_vimscript()
assert_equal(1, var)
END
CheckScriptSuccess(lines)
" spot check mismatching types
lines =<< trim END
vim9script
echo '' == 0
END
CheckScriptFailure(lines, 'E1072:')
lines =<< trim END
vim9script
echo v:true > v:false
END
CheckScriptFailure(lines, 'Cannot compare bool with bool')
lines =<< trim END
vim9script
echo 123 is 123
END
CheckScriptFailure(lines, 'Cannot use "is" with number')
enddef
func Test_expr4_fails()