aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-02-27 10:10:42 +0800
committerGitHub <noreply@github.com>2023-02-27 10:10:42 +0800
commit2c9fbe34b20266ef5ab54f6ed14fb38eef60430d (patch)
tree904fd34f9cc1e7846192c8f458b21b23ce40996b /src/nvim/testdir
parentd52a3f7c715cf4e3f2996dc16b405e1a63b7301d (diff)
downloadrneovim-2c9fbe34b20266ef5ab54f6ed14fb38eef60430d.tar.gz
rneovim-2c9fbe34b20266ef5ab54f6ed14fb38eef60430d.tar.bz2
rneovim-2c9fbe34b20266ef5ab54f6ed14fb38eef60430d.zip
vim-patch:8.2.2336: Vim9: not possible to extend dictionary with different type (#22425)
Problem: Vim9: it is not possible to extend a dictionary with different item types. Solution: Add extendnew(). (closes vim/vim#7666) https://github.com/vim/vim/commit/b0e6b513648db7035046613431a4aa9d71ef4653 Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_listdict.vim12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_listdict.vim b/src/nvim/testdir/test_listdict.vim
index 37c1ee8307..fa22bad0cb 100644
--- a/src/nvim/testdir/test_listdict.vim
+++ b/src/nvim/testdir/test_listdict.vim
@@ -881,6 +881,18 @@ func Test_listdict_extend()
call assert_equal([1, 5, 7, 1, 5, 7], l)
endfunc
+func Test_listdict_extendnew()
+ " Test extendnew() with lists
+ let l = [1, 2, 3]
+ call assert_equal([1, 2, 3, 4, 5], extendnew(l, [4, 5]))
+ call assert_equal([1, 2, 3], l)
+
+ " Test extend() with dictionaries.
+ let d = {'a': {'b': 'B'}}
+ call assert_equal({'a': {'b': 'B'}, 'c': 'cc'}, extendnew(d, {'c': 'cc'}))
+ call assert_equal({'a': {'b': 'B'}}, d)
+endfunc
+
func s:check_scope_dict(x, fixed)
func s:gen_cmd(cmd, x)
return substitute(a:cmd, '\<x\ze:', a:x, 'g')