diff src/testdir/test_vim9_assign.vim @ 24363:1a145eb83a28 v8.2.2722

patch 8.2.2722: Vim9: crash when using LHS with double index Commit: https://github.com/vim/vim/commit/b9c0cd897ab4ad54f514187e89719c0241393f8b Author: Bram Moolenaar <Bram@vim.org> Date: Mon Apr 5 20:51:00 2021 +0200 patch 8.2.2722: Vim9: crash when using LHS with double index Problem: Vim9: crash when using LHS with double index. Solution: Handle lhs_dest which is "dest_expr". (closes https://github.com/vim/vim/issues/8068) Fix confusing error message for missing dict item.
author Bram Moolenaar <Bram@vim.org>
date Mon, 05 Apr 2021 21:00:04 +0200
parents 108a6e2497f6
children 95b8937804d3
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1146,6 +1146,12 @@ def Test_assign_dict_with_op()
     assert_equal(2, dn.a)
     dn.a %= 6
     assert_equal(2, dn.a)
+
+    var dd: dict<dict<list<any>>>
+    dd.a = {}
+    dd.a.b = [0]
+    dd.a.b += [1]
+    assert_equal({a: {b: [0, 1]}}, dd)
   END
   CheckDefAndScriptSuccess(lines)
 enddef
@@ -1187,6 +1193,13 @@ def Test_assign_with_op_fails()
       s[1] ..= 'x'
   END
   CheckDefAndScriptFailure2(lines, 'E1141:', 'E689:', 2)
+
+  lines =<< trim END
+      var dd: dict<dict<list<any>>>
+      dd.a = {}
+      dd.a.b += [1]
+  END
+  CheckDefExecAndScriptFailure(lines, 'E716:', 3)
 enddef
 
 def Test_assign_lambda()