comparison src/testdir/test_vim9_script.vim @ 20871:65d9189d4dca v8.2.0987

patch 8.2.0987: Vim9: cannot assign to [var; var] Commit: https://github.com/vim/vim/commit/9af78769eeae0318e07aa8b6af4d6e2244481ca7 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 16 11:34:42 2020 +0200 patch 8.2.0987: Vim9: cannot assign to [var; var] Problem: Vim9: cannot assign to [var; var]. Solution: Assign rest of items to a list.
author Bram Moolenaar <Bram@vim.org>
date Tue, 16 Jun 2020 11:45:04 +0200
parents 876e16c48bd1
children 58137dbee8da
comparison
equal deleted inserted replaced
20870:6203fd2cfb51 20871:65d9189d4dca
224 enddef 224 enddef
225 225
226 def Test_assignment_var_list() 226 def Test_assignment_var_list()
227 let v1: string 227 let v1: string
228 let v2: string 228 let v2: string
229 let vrem: list<string>
230 [v1] = ['aaa']
231 assert_equal('aaa', v1)
232
229 [v1, v2] = ['one', 'two'] 233 [v1, v2] = ['one', 'two']
230 assert_equal('one', v1) 234 assert_equal('one', v1)
231 assert_equal('two', v2) 235 assert_equal('two', v2)
236
237 [v1, v2; vrem] = ['one', 'two']
238 assert_equal('one', v1)
239 assert_equal('two', v2)
240 assert_equal([], vrem)
241
242 [v1, v2; vrem] = ['one', 'two', 'three']
243 assert_equal('one', v1)
244 assert_equal('two', v2)
245 assert_equal(['three'], vrem)
232 enddef 246 enddef
233 247
234 def Mess(): string 248 def Mess(): string
235 v:foldstart = 123 249 v:foldstart = 123
236 return 'xxx' 250 return 'xxx'
242 call CheckDefFailure(['let var= 234'], 'E1004:') 256 call CheckDefFailure(['let var= 234'], 'E1004:')
243 257
244 call CheckDefFailure(['let true = 1'], 'E1034:') 258 call CheckDefFailure(['let true = 1'], 'E1034:')
245 call CheckDefFailure(['let false = 1'], 'E1034:') 259 call CheckDefFailure(['let false = 1'], 'E1034:')
246 260
247 call CheckDefFailure(['let [a; b; c] = g:list'], 'E452:') 261 call CheckDefFailure(['[a; b; c] = g:list'], 'E452:')
262 call CheckDefExecFailure(['let a: number',
263 '[a] = test_null_list()'], 'E1093:')
264 call CheckDefExecFailure(['let a: number',
265 '[a] = []'], 'E1093:')
266 call CheckDefExecFailure(['let x: number',
267 'let y: number',
268 '[x, y] = [1]'], 'E1093:')
269 call CheckDefExecFailure(['let x: number',
270 'let y: number',
271 'let z: list<number>',
272 '[x, y; z] = [1]'], 'E1093:')
248 273
249 call CheckDefFailure(['let somevar'], "E1022:") 274 call CheckDefFailure(['let somevar'], "E1022:")
250 call CheckDefFailure(['let &option'], 'E1052:') 275 call CheckDefFailure(['let &option'], 'E1052:')
251 call CheckDefFailure(['&g:option = 5'], 'E113:') 276 call CheckDefFailure(['&g:option = 5'], 'E113:')
252 277