diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-10-04 16:06:05 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-10-04 16:06:05 +0200 |
commit | 1310660557470a669cc64b359e20666b116e5dbd (patch) | |
tree | 9769c7afcb813f6a1cee333375be0ebddad9f91d /src/testdir/test_vim9_cmd.vim | |
parent | 6abd3dc257cf56a8262db38eb15c7cc754e8e002 (diff) |
patch 8.2.1798: Vim9: trinary operator condition is too permissivev8.2.1798
Problem: Vim9: trinary operator condition is too permissive.
Solution: Use tv_get_bool_chk().
Diffstat (limited to 'src/testdir/test_vim9_cmd.vim')
-rw-r--r-- | src/testdir/test_vim9_cmd.vim | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim index 82d5f325e4..599c287e23 100644 --- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -68,6 +68,74 @@ def Test_echo_linebreak() CheckScriptSuccess(lines) enddef +def Test_condition_types() + var lines =<< trim END + if 'text' + endif + END + CheckDefAndScriptFailure(lines, 'E1030:', 1) + + lines =<< trim END + if [1] + endif + END + CheckDefFailure(lines, 'E1012:', 1) + CheckScriptFailure(['vim9script'] + lines, 'E745:', 2) + + lines =<< trim END + g:cond = 'text' + if g:cond + endif + END + CheckDefExecAndScriptFailure(lines, 'E1030:', 2) + + lines =<< trim END + g:cond = 0 + if g:cond + elseif 'text' + endif + END + CheckDefFailure(lines, 'E1012:', 3) + CheckScriptFailure(['vim9script'] + lines, 'E1030:', 4) + + lines =<< trim END + if g:cond + elseif [1] + endif + END + CheckDefFailure(lines, 'E1012:', 2) + CheckScriptFailure(['vim9script'] + lines, 'E745:', 3) + + lines =<< trim END + g:cond = 'text' + if 0 + elseif g:cond + endif + END + CheckDefExecAndScriptFailure(lines, 'E1030:', 3) + + lines =<< trim END + while 'text' + endwhile + END + CheckDefFailure(lines, 'E1012:', 1) + CheckScriptFailure(['vim9script'] + lines, 'E1030:', 2) + + lines =<< trim END + while [1] + endwhile + END + CheckDefFailure(lines, 'E1012:', 1) + CheckScriptFailure(['vim9script'] + lines, 'E745:', 2) + + lines =<< trim END + g:cond = 'text' + while g:cond + endwhile + END + CheckDefExecAndScriptFailure(lines, 'E1030:', 2) +enddef + def Test_if_linebreak() var lines =<< trim END vim9script |