summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_assign.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-04-05 21:40:38 +0100
committerBram Moolenaar <Bram@vim.org>2022-04-05 21:40:38 +0100
commitaa7d0c233532fb9d8c2876ea8e978a82b12c377f (patch)
treee1a7043513071fae2a4cb0a749f50804a4330fdb /src/testdir/test_vim9_assign.vim
parent0d1f55c044610f627b1617e4cfbf6e094ff60921 (diff)
downloadvim-git-aa7d0c233532fb9d8c2876ea8e978a82b12c377f.tar.gz
patch 8.2.4698: Vim9: script variable has no flag that it was setv8.2.4698
Problem: Vim9: script variable has no flag that it was set. Solution: Add a flag that it was set, to avoid giving it a value when used. (closes #10088)
Diffstat (limited to 'src/testdir/test_vim9_assign.vim')
-rw-r--r--src/testdir/test_vim9_assign.vim27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 57d205cee..7e382c22b 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -740,6 +740,7 @@ def Test_init_in_for_loop()
enddef
def Test_extend_list()
+ # using uninitilaized list assigns empty list
var lines =<< trim END
var l1: list<number>
var l2 = l1
@@ -757,7 +758,7 @@ def Test_extend_list()
END
v9.CheckDefAndScriptSuccess(lines)
- # appending to NULL list from a function
+ # appending to uninitialzed list from a function works
lines =<< trim END
vim9script
var list: list<string>
@@ -779,13 +780,30 @@ def Test_extend_list()
END
v9.CheckScriptSuccess(lines)
+ # initialized to null, with type, does not default to empty list
lines =<< trim END
vim9script
var l: list<string> = test_null_list()
extend(l, ['x'])
- assert_equal(['x'], l)
END
- v9.CheckScriptSuccess(lines)
+ v9.CheckScriptFailure(lines, 'E1134:', 3)
+
+ # initialized to null, without type, does not default to empty list
+ lines =<< trim END
+ vim9script
+ var l = null_list
+ extend(l, ['x'])
+ END
+ v9.CheckScriptFailure(lines, 'E1134:', 3)
+
+ # assigned null, does not default to empty list
+ lines =<< trim END
+ vim9script
+ var l: list<string>
+ l = null_list
+ extend(l, ['x'])
+ END
+ v9.CheckScriptFailure(lines, 'E1134:', 4)
lines =<< trim END
vim9script
@@ -838,9 +856,8 @@ def Test_extend_dict()
vim9script
var d: dict<string> = test_null_dict()
extend(d, {a: 'x'})
- assert_equal({a: 'x'}, d)
END
- v9.CheckScriptSuccess(lines)
+ v9.CheckScriptFailure(lines, 'E1133:', 3)
lines =<< trim END
vim9script