comparison src/testdir/test_vim9_expr.vim @ 21959:67d4be2757b0 v8.2.1529

patch 8.2.1529: Vim9: :elseif may be compiled when not needed Commit: https://github.com/vim/vim/commit/749639ec7248740cd271f34ec5f7bb70891b459c Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 27 23:08:47 2020 +0200 patch 8.2.1529: Vim9: :elseif may be compiled when not needed Problem: Vim9: :elseif may be compiled when not needed. Solution: Do evaluate the :elseif expression.
author Bram Moolenaar <Bram@vim.org>
date Thu, 27 Aug 2020 23:15:04 +0200
parents 3991a6df522e
children 11dbf7e1f65c
comparison
equal deleted inserted replaced
21958:d6f29ea3c947 21959:67d4be2757b0
41 assert_equal('two', [] ? 'one' : 'two') 41 assert_equal('two', [] ? 'one' : 'two')
42 assert_equal('two', {} ? 'one' : 'two') 42 assert_equal('two', {} ? 'one' : 'two')
43 var = 0 43 var = 0
44 assert_equal('two', var ? 'one' : 'two') 44 assert_equal('two', var ? 'one' : 'two')
45 45
46 # with constant condition expression is not evaluated
47 assert_equal('one', 1 ? 'one' : xxx)
48
46 let Some: func = function('len') 49 let Some: func = function('len')
47 let Other: func = function('winnr') 50 let Other: func = function('winnr')
48 let Res: func = g:atrue ? Some : Other 51 let Res: func = g:atrue ? Some : Other
49 assert_equal(function('len'), Res) 52 assert_equal(function('len'), Res)
50 53
137 CheckScriptSuccess(lines) 140 CheckScriptSuccess(lines)
138 enddef 141 enddef
139 142
140 func Test_expr1_fails() 143 func Test_expr1_fails()
141 call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1) 144 call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1)
142 call CheckDefFailure(["let x = 1 ? 'one' : xxx"], "E1001:", 1)
143 145
144 let msg = "white space required before and after '?'" 146 let msg = "white space required before and after '?'"
145 call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1) 147 call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1)
146 call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg, 1) 148 call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg, 1)
147 call CheckDefFailure(["let x = 1?'one' : 'two'"], msg, 1) 149 call CheckDefFailure(["let x = 1?'one' : 'two'"], msg, 1)