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()