summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_builtin.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-08-09 22:22:27 +0200
committerBram Moolenaar <Bram@vim.org>2021-08-09 22:22:27 +0200
commitb56c4419d42e024e79b1772c8468c0da7c11275f (patch)
treeb854a7d1d38c1b92ce171cc5d7fce267117f42fb /src/testdir/test_vim9_builtin.vim
parentbd9e7961256ea6a98bd5a7bfe14e32c4c47186e6 (diff)
downloadvim-git-8.2.3322.tar.gz
patch 8.2.3322: Vim9: checking type of dict does not check member typev8.2.3322
Problem: Vim9: checking type of dict does not check member type. Solution: When getting the type of a typval use dv_type and lv_type. (closes #8732)
Diffstat (limited to 'src/testdir/test_vim9_builtin.vim')
-rw-r--r--src/testdir/test_vim9_builtin.vim12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 6ca6c7b0c..5e45edbae 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -922,6 +922,12 @@ def Test_extend_dict_item_type()
END
CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0)
CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1)
+
+ lines =<< trim END
+ var d: dict<bool>
+ extend(d, {b: 0})
+ END
+ CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<bool> but got dict<number>', 2)
enddef
func g:ExtendList(l)
@@ -947,6 +953,12 @@ def Test_extend_list_item_type()
END
CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0)
CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1)
+
+ lines =<< trim END
+ var l: list<bool>
+ extend(l, [0])
+ END
+ CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<bool> but got list<number>', 2)
enddef
def Test_extend_return_type()