diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-04-05 21:40:38 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-04-05 21:40:38 +0100 |
commit | aa7d0c233532fb9d8c2876ea8e978a82b12c377f (patch) | |
tree | e1a7043513071fae2a4cb0a749f50804a4330fdb /src/testdir/test_vim9_assign.vim | |
parent | 0d1f55c044610f627b1617e4cfbf6e094ff60921 (diff) | |
download | vim-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.vim | 27 |
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 |