summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-21 20:21:29 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-21 20:21:29 +0100
commite32e516dfa46e9c5965d278f96aaf57573de8ac4 (patch)
treee3603d67218152c9ad5fc8cffbd28b95d4ce1511 /src/testdir
parentf904133e1a5ea84a124d3ece12b1f0a7392f1ca7 (diff)
downloadvim-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.vim2
-rw-r--r--src/testdir/test_vim9_disassemble.vim2
-rw-r--r--src/testdir/test_vim9_func.vim16
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',