Mercurial > vim
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:') |