patch 8.2.1686: Vim9: "const!" not sufficiently tested
Problem: Vim9: "const!" not sufficiently tested.
Solution: Add a few more test cases. Fix type checking.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 904ee63..936c7dd 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -831,6 +831,24 @@
list->assert_equal([4, 2, 3])
const! other = [5, 6, 7]
other->assert_equal([5, 6, 7])
+
+ let varlist = [7, 8]
+ const! constlist = [1, varlist, 3]
+ varlist[0] = 77
+ # TODO: does not work yet
+ # constlist[1][1] = 88
+ let cl = constlist[1]
+ cl[1] = 88
+ constlist->assert_equal([1, [77, 88], 3])
+
+ let vardict = #{five: 5, six: 6}
+ const! constdict = #{one: 1, two: vardict, three: 3}
+ vardict['five'] = 55
+ # TODO: does not work yet
+ # constdict['two']['six'] = 66
+ let cd = constdict['two']
+ cd['six'] = 66
+ constdict->assert_equal(#{one: 1, two: #{five: 55, six: 66}, three: 3})
END
CheckDefAndScriptSuccess(lines)
enddef