diff options
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_expr.vim | 12 | ||||
-rw-r--r-- | src/testdir/test_let.vim | 35 | ||||
-rw-r--r-- | src/testdir/test_put.vim | 8 | ||||
-rw-r--r-- | src/testdir/test_vim9_assign.vim | 50 |
4 files changed, 105 insertions, 0 deletions
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim index 1fa460d09a..6acfe002e2 100644 --- a/src/testdir/test_expr.vim +++ b/src/testdir/test_expr.vim @@ -953,6 +953,18 @@ func Test_string_interp() #" Dict interpolation VAR d = {'a': 10, 'b': [1, 2]} call assert_equal("{'a': 10, 'b': [1, 2]}", $'{d}') + VAR emptydict = {} + call assert_equal("a{}b", $'a{emptydict}b') + VAR nulldict = test_null_dict() + call assert_equal("a{}b", $'a{nulldict}b') + + #" List interpolation + VAR l = ['a', 'b', 'c'] + call assert_equal("['a', 'b', 'c']", $'{l}') + VAR emptylist = [] + call assert_equal("a[]b", $'a{emptylist}b') + VAR nulllist = test_null_list() + call assert_equal("a[]b", $'a{nulllist}b') #" Stray closing brace. call assert_fails('echo $"moo}"', 'E1278:') diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim index fec02731c4..2aba1d3e22 100644 --- a/src/testdir/test_let.vim +++ b/src/testdir/test_let.vim @@ -696,6 +696,41 @@ END END call assert_equal(["let d2 = {'a': 10, 'b': 'ss', 'c': {}}"], code) + " Empty dictionary + let d1 = {} + let code =<< eval trim END + let d2 = {d1} + END + call assert_equal(["let d2 = {}"], code) + + " null dictionary + let d1 = test_null_dict() + let code =<< eval trim END + let d2 = {d1} + END + call assert_equal(["let d2 = {}"], code) + + " Evaluate a List + let l1 = ['a', 'b', 'c'] + let code =<< eval trim END + let l2 = {l1} + END + call assert_equal(["let l2 = ['a', 'b', 'c']"], code) + + " Empty List + let l1 = [] + let code =<< eval trim END + let l2 = {l1} + END + call assert_equal(["let l2 = []"], code) + + " Null List + let l1 = test_null_list() + let code =<< eval trim END + let l2 = {l1} + END + call assert_equal(["let l2 = []"], code) + let code = 'xxx' let code =<< eval trim END let n = {5 + diff --git a/src/testdir/test_put.vim b/src/testdir/test_put.vim index 6f1e992e36..69c2943aaf 100644 --- a/src/testdir/test_put.vim +++ b/src/testdir/test_put.vim @@ -328,4 +328,12 @@ func Test_put_dict() bw! endfunc +func Test_put_list() + new + let l = ['a', 'b', 'c'] + put! =l + call assert_equal(['a', 'b', 'c', ''], getline(1, '$')) + bw! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim index 4da368c663..4296c37092 100644 --- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -2994,6 +2994,56 @@ def Test_heredoc_expr() CODE v9.CheckDefAndScriptSuccess(lines) + # Evaluate an empty dictionary + lines =<< trim CODE + var d1 = {} + var code =<< trim eval END + var d2 = {d1} + END + assert_equal(["var d2 = {}"], code) + CODE + v9.CheckDefAndScriptSuccess(lines) + + # Evaluate a null dictionary + lines =<< trim CODE + var d1 = test_null_dict() + var code =<< trim eval END + var d2 = {d1} + END + assert_equal(["var d2 = {}"], code) + CODE + v9.CheckDefAndScriptSuccess(lines) + + # Evaluate a List + lines =<< trim CODE + var l1 = ['a', 'b', 'c'] + var code =<< trim eval END + var l2 = {l1} + END + assert_equal(["var l2 = ['a', 'b', 'c']"], code) + CODE + v9.CheckDefAndScriptSuccess(lines) + + # Evaluate an empty List + lines =<< trim CODE + var l1 = [] + var code =<< trim eval END + var l2 = {l1} + END + assert_equal(["var l2 = []"], code) + CODE + v9.CheckDefAndScriptSuccess(lines) + + # Evaluate a null List + lines =<< trim CODE + var l1 = test_null_list() + var code =<< trim eval END + var l2 = {l1} + END + assert_equal(["var l2 = []"], code) + CODE + v9.CheckDefAndScriptSuccess(lines) + lines =<< trim CODE var code =<< eval trim END var s = "{$SOME_ENV_VAR}" |