Mercurial > vim
diff src/testdir/test_vim9_script.vim @ 21578:7417cb54cb24 v8.2.1339
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Commit: https://github.com/vim/vim/commit/2caa1594e72be7a876c21ed5c2df252d3537cfa7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 1 15:53:19 2020 +0200
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Problem: Vim9: assigning to global dict variable doesn't work.
Solution: Guess variable type based in index type. (issue https://github.com/vim/vim/issues/6591)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Aug 2020 16:00:04 +0200 |
parents | f4252efe370e |
children | d0c76ce48326 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -274,6 +274,30 @@ def Test_assignment_dict() FillDict() END call CheckScriptFailure(lines, 'E1103:') + + # assignment to global dict + lines =<< trim END + vim9script + g:test = {} + def FillDict(): dict<any> + g:test['a'] = 43 + return g:test + enddef + assert_equal(#{a: 43}, FillDict()) + END + call CheckScriptSuccess(lines) + + # assignment to buffer dict + lines =<< trim END + vim9script + b:test = {} + def FillDict(): dict<any> + b:test['a'] = 43 + return b:test + enddef + assert_equal(#{a: 43}, FillDict()) + END + call CheckScriptSuccess(lines) enddef def Test_assignment_local()