Mercurial > vim
comparison src/testdir/test_vim9_expr.vim @ 21925:51d591dbb8df v8.2.1512
patch 8.2.1512: failure after trinary expression fails
Commit: https://github.com/vim/vim/commit/69e44552c567ff25b363ba0790ad3d43fa0397a7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 22 22:37:20 2020 +0200
patch 8.2.1512: failure after trinary expression fails
Problem: Failure after trinary expression fails.
Solution: Restore eval_flags. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/6776)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 22 Aug 2020 22:45:03 +0200 |
parents | a211bca98bc3 |
children | 3991a6df522e |
comparison
equal
deleted
inserted
replaced
21924:7972b1494d5e | 21925:51d591dbb8df |
---|---|
112 lines =<< trim END | 112 lines =<< trim END |
113 vim9script | 113 vim9script |
114 let var = v:true ? 1 :2 | 114 let var = v:true ? 1 :2 |
115 END | 115 END |
116 CheckScriptFailure(lines, 'E1004:', 2) | 116 CheckScriptFailure(lines, 'E1004:', 2) |
117 | |
118 # check after failure eval_flags is reset | |
119 lines =<< trim END | |
120 vim9script | |
121 try | |
122 call eval('0 ? 1: 2') | |
123 catch | |
124 endtry | |
125 assert_equal(v:true, eval(string(v:true))) | |
126 END | |
127 CheckScriptSuccess(lines) | |
128 | |
129 lines =<< trim END | |
130 vim9script | |
131 try | |
132 call eval('0 ? 1 :2') | |
133 catch | |
134 endtry | |
135 assert_equal(v:true, eval(string(v:true))) | |
136 END | |
137 CheckScriptSuccess(lines) | |
117 enddef | 138 enddef |
118 | 139 |
119 func Test_expr1_fails() | 140 func Test_expr1_fails() |
120 call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1) | 141 call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1) |
121 call CheckDefFailure(["let x = 1 ? 'one' : xxx"], "E1001:", 1) | 142 call CheckDefFailure(["let x = 1 ? 'one' : xxx"], "E1001:", 1) |