diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-01-21 20:21:29 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-01-21 20:21:29 +0100 |
commit | e32e516dfa46e9c5965d278f96aaf57573de8ac4 (patch) | |
tree | e3603d67218152c9ad5fc8cffbd28b95d4ce1511 /src/testdir | |
parent | f904133e1a5ea84a124d3ece12b1f0a7392f1ca7 (diff) | |
download | vim-git-e32e516dfa46e9c5965d278f96aaf57573de8ac4.tar.gz |
patch 8.2.2387: runtime type check does not mention argument indexv8.2.2387
Problem: Runtime type check does not mention argument index.
Solution: Add ct_arg_idx. (closes #7720)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_vim9_builtin.vim | 2 | ||||
-rw-r--r-- | src/testdir/test_vim9_disassemble.vim | 2 | ||||
-rw-r--r-- | src/testdir/test_vim9_func.vim | 16 |
3 files changed, 18 insertions, 2 deletions
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim index 50dc2a073..06b5ecdba 100644 --- a/src/testdir/test_vim9_builtin.vim +++ b/src/testdir/test_vim9_builtin.vim @@ -263,7 +263,7 @@ def Test_extend_arg_types() CheckDefFailure(['extend({a: 1}, {b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') CheckDefFailure(['extend([1], ["b"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') - CheckDefExecFailure(['extend([1], ["b", 1])'], 'E1012: Type mismatch; expected list<number> but got list<any>') + CheckDefExecFailure(['extend([1], ["b", 1])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<any>') enddef def Test_extendnew() diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim index 1aab9d5b3..f40bcf0ae 100644 --- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -934,7 +934,7 @@ def Test_disassemble_lambda_with_type() 'return Ref(g:value)\_s*' .. '\d LOADG g:value\_s*' .. '\d LOAD $0\_s*' .. - '\d CHECKTYPE number stack\[-2\]\_s*' .. + '\d CHECKTYPE number stack\[-2\] arg 1\_s*' .. '\d PCALL (argc 1)\_s*' .. '\d RETURN', instr) diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index da0a0e643..fc1ed2120 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -144,6 +144,22 @@ def Test_return_something() assert_fails('ReturnGlobal()', 'E1012: Type mismatch; expected number but got string', '', 1, 'ReturnGlobal') enddef +def Test_check_argument_type() + var lines =<< trim END + vim9script + def Val(a: number, b: number): number + return 0 + enddef + def Func() + var x: any = true + Val(0, x) + enddef + disass Func + Func() + END + CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got bool', 2) +enddef + def Test_missing_return() CheckDefFailure(['def Missing(): number', ' if g:cond', |