comparison src/testdir/test_vim9_script.vim @ 19583:ba35daca6553 v8.2.0348

patch 8.2.0348: Vim9: not all code tested Commit: https://github.com/vim/vim/commit/5381c7a1628eeca81a46b811158be4cd47ba5815 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Mar 2 22:53:32 2020 +0100 patch 8.2.0348: Vim9: not all code tested Problem: Vim9: not all code tested. Solution: Add a few more tests. fix using "b:" in literal dictionary.
author Bram Moolenaar <Bram@vim.org>
date Mon, 02 Mar 2020 23:00:06 +0100
parents aae19dd172c0
children 0303f920a7d4
comparison
equal deleted inserted replaced
19582:1aac86ea0cd9 19583:ba35daca6553
66 let party1: partial 66 let party1: partial
67 let party2: partial = funcref('Test_syntax') 67 let party2: partial = funcref('Test_syntax')
68 68
69 " type becomes list<any> 69 " type becomes list<any>
70 let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c'] 70 let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c']
71 " type becomes dict<any>
72 let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'}
71 73
72 g:newvar = 'new' 74 g:newvar = 'new'
73 assert_equal('new', g:newvar) 75 assert_equal('new', g:newvar)
74 76
75 assert_equal('yes', g:existing) 77 assert_equal('yes', g:existing)
371 373
372 import {exp_name} from './Xexport.vim' 374 import {exp_name} from './Xexport.vim'
373 g:imported_name = exp_name 375 g:imported_name = exp_name
374 exp_name ..= ' Doe' 376 exp_name ..= ' Doe'
375 g:imported_name_appended = exp_name 377 g:imported_name_appended = exp_name
378 g:imported_later = exported
376 END 379 END
377 380
378 writefile(import_script_lines, 'Ximport.vim') 381 writefile(import_script_lines, 'Ximport.vim')
379 writefile(s:export_script_lines, 'Xexport.vim') 382 writefile(s:export_script_lines, 'Xexport.vim')
380 383
382 385
383 assert_equal('bobbie', g:result) 386 assert_equal('bobbie', g:result)
384 assert_equal('bob', g:localname) 387 assert_equal('bob', g:localname)
385 assert_equal(9876, g:imported) 388 assert_equal(9876, g:imported)
386 assert_equal(9879, g:imported_added) 389 assert_equal(9879, g:imported_added)
390 assert_equal(9879, g:imported_later)
387 assert_equal('Exported', g:imported_func) 391 assert_equal('Exported', g:imported_func)
388 assert_equal('John', g:imported_name) 392 assert_equal('John', g:imported_name)
389 assert_equal('John Doe', g:imported_name_appended) 393 assert_equal('John Doe', g:imported_name_appended)
390 assert_false(exists('g:name')) 394 assert_false(exists('g:name'))
391 395
392 unlet g:result 396 unlet g:result
393 unlet g:localname 397 unlet g:localname
394 unlet g:imported 398 unlet g:imported
395 unlet g:imported_added 399 unlet g:imported_added
400 unlet g:imported_later
396 unlet g:imported_func 401 unlet g:imported_func
397 unlet g:imported_name g:imported_name_appended 402 unlet g:imported_name g:imported_name_appended
398 delete('Ximport.vim') 403 delete('Ximport.vim')
399 404
405 let import_in_def_lines =<< trim END
406 vim9script
407 def ImportInDef()
408 import exported from './Xexport.vim'
409 g:imported = exported
410 exported += 7
411 g:imported_added = exported
412 enddef
413 ImportInDef()
414 END
415 writefile(import_in_def_lines, 'Ximport2.vim')
416 source Ximport2.vim
417 " TODO: this should be 9879
418 assert_equal(9876, g:imported)
419 assert_equal(9883, g:imported_added)
420 unlet g:imported
421 unlet g:imported_added
422 delete('Ximport2.vim')
423
400 let import_star_as_lines =<< trim END 424 let import_star_as_lines =<< trim END
401 vim9script 425 vim9script
402 import * as Export from './Xexport.vim' 426 import * as Export from './Xexport.vim'
403 def UseExport() 427 def UseExport()
404 g:imported = Export.exported 428 g:imported = Export.exported
405 enddef 429 enddef
406 UseExport() 430 UseExport()
407 END 431 END
408 writefile(import_star_as_lines, 'Ximport.vim') 432 writefile(import_star_as_lines, 'Ximport.vim')
409 source Ximport.vim 433 source Ximport.vim
410 assert_equal(9876, g:imported) 434 assert_equal(9883, g:imported)
411 435
412 let import_star_lines =<< trim END 436 let import_star_lines =<< trim END
413 vim9script 437 vim9script
414 import * from './Xexport.vim' 438 import * from './Xexport.vim'
415 g:imported = exported 439 g:imported = exported