diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-02-27 10:10:42 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-27 10:10:42 +0800 |
commit | 2c9fbe34b20266ef5ab54f6ed14fb38eef60430d (patch) | |
tree | 904fd34f9cc1e7846192c8f458b21b23ce40996b /src/nvim/testdir | |
parent | d52a3f7c715cf4e3f2996dc16b405e1a63b7301d (diff) | |
download | rneovim-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.vim | 12 |
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') |