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_expr.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_expr.vim')
-rw-r--r-- | src/testdir/test_expr.vim | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim index 1086534dca..754f856c22 100644 --- a/src/testdir/test_expr.vim +++ b/src/testdir/test_expr.vim @@ -42,6 +42,16 @@ func Test_version() call assert_false(has('patch-9.9.1')) endfunc +func Test_op_trinary() + call assert_equal('yes', 1 ? 'yes' : 'no') + call assert_equal('no', 0 ? 'yes' : 'no') + call assert_equal('no', 'x' ? 'yes' : 'no') + call assert_equal('yes', '1x' ? 'yes' : 'no') + + call assert_fails('echo [1] ? "yes" : "no"', 'E745:') + call assert_fails('echo {} ? "yes" : "no"', 'E728:') +endfunc + func Test_op_falsy() call assert_equal(v:true, v:true ?? 456) call assert_equal(123, 123 ?? 456) |