diff src/testdir/test_vim9_cmd.vim @ 24512:53871095bb65 v8.2.2796

patch 8.2.2796: Vim9: redir to variable does not accept an index Commit: https://github.com/vim/vim/commit/753bcf8c7d7cf7b9e1572a80cc513a67020814ac Author: Bram Moolenaar <Bram@vim.org> Date: Wed Apr 21 14:24:24 2021 +0200 patch 8.2.2796: Vim9: redir to variable does not accept an index Problem: Vim9: redir to variable does not accept an index. Solution: Make the index work.
author Bram Moolenaar <Bram@vim.org>
date Wed, 21 Apr 2021 14:30:04 +0200
parents bfa495227ac6
children 056f954c6fd2
line wrap: on
line diff
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -1212,10 +1212,35 @@ def Test_redir_to_var()
   redir END
   assert_equal("\nsomething\nmore", result)
 
+  var d: dict<string>
+  redir => d.redir
+    echo 'dict'
+  redir END
+  assert_equal({redir: "\ndict"}, d)
+
+  var l = ['a', 'b', 'c']
+  redir => l[1]
+    echo 'list'
+  redir END
+  assert_equal(['a', "\nlist", 'c'], l)
+
+  var dl = {l: ['x']}
+  redir => dl.l[0]
+    echo 'dict-list'
+  redir END
+  assert_equal({l: ["\ndict-list"]}, dl)
+
   var lines =<< trim END
     redir => notexist
   END
   CheckDefFailure(lines, 'E1089:')
+
+  lines =<< trim END
+    var ls = 'asdf'
+    redir => ls[1]
+    redir END
+  END
+  CheckDefFailure(lines, 'E1141:')
 enddef