diff options
Diffstat (limited to 'src/testdir/test_vim9_assign.vim')
-rw-r--r-- | src/testdir/test_vim9_assign.vim | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim index 7e382c22b2..02274b3c55 100644 --- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -740,7 +740,7 @@ def Test_init_in_for_loop() enddef def Test_extend_list() - # using uninitilaized list assigns empty list + # using uninitialized list assigns empty list var lines =<< trim END var l1: list<number> var l2 = l1 @@ -758,7 +758,7 @@ def Test_extend_list() END v9.CheckDefAndScriptSuccess(lines) - # appending to uninitialzed list from a function works + # appending to uninitialized list from a function works lines =<< trim END vim9script var list: list<string> @@ -2637,6 +2637,56 @@ def Test_using_s_var_in_function() v9.CheckScriptSuccess(lines) enddef +let g:someVar = 'X' + +" Test for heredoc with Vim expressions. +" This messes up highlighting, keep it near the end. +def Test_heredoc_expr() + var code =<< trim eval END + var a = `=5 + 10` + var b = `=min([10, 6])` + `=max([4, 6])` + END + assert_equal(['var a = 15', 'var b = 6 + 6'], code) + + code =<< eval trim END + var s = "`=$SOME_ENV_VAR`" + END + assert_equal(['var s = "somemore"'], code) + + code =<< eval END + var s = "`=$SOME_ENV_VAR`" +END + assert_equal([' var s = "somemore"'], code) + + code =<< eval trim END + let a = `abc` + let b = `=g:someVar` + let c = ` + END + assert_equal(['let a = `abc`', 'let b = X', 'let c = `'], code) + + var lines =<< trim LINES + var text =<< eval trim END + let b = `= + END + LINES + v9.CheckDefAndScriptFailure(lines, 'E1083:') + + lines =<< trim LINES + var text =<< eval trim END + let b = `=abc + END + LINES + v9.CheckDefAndScriptFailure(lines, 'E1083:') + + lines =<< trim LINES + var text =<< eval trim END + let b = `=` + END + LINES + v9.CheckDefAndScriptFailure(lines, 'E15:') +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |