comparison src/testdir/test_vim9_script.vim @ 19326:d1810b726592 v8.2.0221

patch 8.2.0221: no test for Vim9 += and ..= Commit: https://github.com/vim/vim/commit/6e587dcbf319ea898ef50f7e367c46586a6f408a Author: Bram Moolenaar <Bram@vim.org> Date: Thu Feb 6 13:15:52 2020 +0100 patch 8.2.0221: no test for Vim9 += and ..= Problem: No test for Vim9 += and ..=. Solution: Add tests.
author Bram Moolenaar <Bram@vim.org>
date Thu, 06 Feb 2020 13:30:03 +0100
parents 6e199d1d11d0
children e99e6d794597
comparison
equal deleted inserted replaced
19325:bf0e50bb2c82 19326:d1810b726592
25 return 'yes' 25 return 'yes'
26 enddef 26 enddef
27 call assert_equal('yes', SomeFunc()) 27 call assert_equal('yes', SomeFunc())
28 endfunc 28 endfunc
29 29
30 let s:appendToMe = 'xxx'
31 let s:addToMe = 111
32
30 def Test_assignment() 33 def Test_assignment()
31 let bool1: bool = true 34 let bool1: bool = true
32 assert_equal(v:true, bool1) 35 assert_equal(v:true, bool1)
33 let bool2: bool = false 36 let bool2: bool = false
34 assert_equal(v:false, bool2) 37 assert_equal(v:false, bool2)
42 45
43 let dict1: dict<string> = #{key: 'value'} 46 let dict1: dict<string> = #{key: 'value'}
44 let dict2: dict<number> = #{one: 1, two: 2} 47 let dict2: dict<number> = #{one: 1, two: 2}
45 48
46 v:char = 'abc' 49 v:char = 'abc'
47 call assert_equal('abc', v:char) 50 assert_equal('abc', v:char)
48 51
49 $ENVVAR = 'foobar' 52 $ENVVAR = 'foobar'
50 call assert_equal('foobar', $ENVVAR) 53 assert_equal('foobar', $ENVVAR)
51 $ENVVAR = '' 54 $ENVVAR = ''
55
56 appendToMe ..= 'yyy'
57 assert_equal('xxxyyy', appendToMe)
58 addToMe += 222
59 assert_equal(333, addToMe)
52 enddef 60 enddef
53 61
54 func Test_assignment_failure() 62 func Test_assignment_failure()
55 call CheckDefFailure(['let var=234'], 'E1004:') 63 call CheckDefFailure(['let var=234'], 'E1004:')
56 call CheckDefFailure(['let var =234'], 'E1004:') 64 call CheckDefFailure(['let var =234'], 'E1004:')
193 let g:result = Concat('bie') 201 let g:result = Concat('bie')
194 let g:localname = name 202 let g:localname = name
195 203
196 export const CONST = 1234 204 export const CONST = 1234
197 export let exported = 9876 205 export let exported = 9876
206 export let exp_name = 'John'
198 export def Exported(): string 207 export def Exported(): string
199 return 'Exported' 208 return 'Exported'
200 enddef 209 enddef
201 END 210 END
202 211
203 def Test_vim9script() 212 def Test_vim9script()
204 let import_script_lines =<< trim END 213 let import_script_lines =<< trim END
205 vim9script 214 vim9script
206 import {exported, Exported} from './Xexport.vim' 215 import {exported, Exported} from './Xexport.vim'
207 g:imported = exported 216 g:imported = exported
217 exported += 3
218 g:imported_added = exported
208 g:imported_func = Exported() 219 g:imported_func = Exported()
220
221 import {exp_name} from './Xexport.vim'
222 g:imported_name = exp_name
223 exp_name ..= ' Doe'
224 g:imported_name_appended = exp_name
209 END 225 END
210 226
211 writefile(import_script_lines, 'Ximport.vim') 227 writefile(import_script_lines, 'Ximport.vim')
212 writefile(s:export_script_lines, 'Xexport.vim') 228 writefile(s:export_script_lines, 'Xexport.vim')
213 229
214 source Ximport.vim 230 source Ximport.vim
215 231
216 assert_equal('bobbie', g:result) 232 assert_equal('bobbie', g:result)
217 assert_equal('bob', g:localname) 233 assert_equal('bob', g:localname)
218 assert_equal(9876, g:imported) 234 assert_equal(9876, g:imported)
235 assert_equal(9879, g:imported_added)
219 assert_equal('Exported', g:imported_func) 236 assert_equal('Exported', g:imported_func)
237 assert_equal('John', g:imported_name)
238 assert_equal('John Doe', g:imported_name_appended)
220 assert_false(exists('g:name')) 239 assert_false(exists('g:name'))
221 240
222 unlet g:result 241 unlet g:result
223 unlet g:localname 242 unlet g:localname
224 unlet g:imported 243 unlet g:imported
244 unlet g:imported_added
225 unlet g:imported_func 245 unlet g:imported_func
246 unlet g:imported_name g:imported_name_appended
226 delete('Ximport.vim') 247 delete('Ximport.vim')
227 delete('Xexport.vim') 248 delete('Xexport.vim')
228 249
229 CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:') 250 CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:')
230 CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:') 251 CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:')