summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-08-01 15:53:19 +0200
committerBram Moolenaar <Bram@vim.org>2020-08-01 15:53:19 +0200
commit2caa1594e72be7a876c21ed5c2df252d3537cfa7 (patch)
treee8fb2ce786fe5c4d4b85a872cd3dbc6be2488496 /src/testdir
parent8e4c8c853e3ffbd9258f89180692879ec6bce72b (diff)
patch 8.2.1339: Vim9: assigning to global dict variable doesn't workv8.2.1339
Problem: Vim9: assigning to global dict variable doesn't work. Solution: Guess variable type based in index type. (issue #6591)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test_vim9_script.vim24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 196ddbe0a2..c01b383be5 100644
--- 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()