1
0
forked from aniani/vim

patch 8.2.4085: Vim9: no test for using import in legacy script

Problem:    Vim9: no test for using import in legacy script.
Solution:   Add a test.
This commit is contained in:
Bram Moolenaar
2022-01-13 20:51:56 +00:00
parent 130f65d46b
commit c43e6235c7
2 changed files with 40 additions and 10 deletions

View File

@@ -1006,16 +1006,6 @@ def Test_source_vim9_from_legacy()
call assert_false(exists('s:exported')) call assert_false(exists('s:exported'))
call assert_equal('global', global) call assert_equal('global', global)
call assert_equal('global', g:global) call assert_equal('global', g:global)
"" imported variable becomes script-local
"import exported from './Xvim9_script.vim'
"call assert_equal('exported', s:exported)
"call assert_false(exists('exported'))
"" imported function becomes script-local
"import GetText from './Xvim9_script.vim'
"call assert_equal('text', s:GetText())
"call assert_false(exists('*GetText'))
END END
writefile(legacy_lines, 'Xlegacy_script.vim') writefile(legacy_lines, 'Xlegacy_script.vim')
@@ -1027,6 +1017,44 @@ def Test_source_vim9_from_legacy()
delete('Xvim9_script.vim') delete('Xvim9_script.vim')
enddef enddef
def Test_import_vim9_from_legacy()
var vim9_lines =<< trim END
vim9script
var local = 'local'
g:global = 'global'
export var exported = 'exported'
export def GetText(): string
return 'text'
enddef
END
writefile(vim9_lines, 'Xvim9_export.vim')
var legacy_lines =<< trim END
import './Xvim9_export.vim' as vim9
call assert_false(exists('vim9'))
call assert_false(exists('local'))
call assert_false(exists('s:vim9.local'))
call assert_equal('global', global)
call assert_equal('global', g:global)
call assert_false(exists('exported'))
call assert_false(exists('s:exported'))
call assert_false(exists('*GetText'))
" imported symbol is script-local
call assert_equal('exported', s:vim9.exported)
call assert_equal('text', s:vim9.GetText())
END
writefile(legacy_lines, 'Xlegacy_script.vim')
source Xlegacy_script.vim
assert_equal('global', g:global)
unlet g:global
delete('Xlegacy_script.vim')
delete('Xvim9_export.vim')
enddef
def Test_cmdline_win() def Test_cmdline_win()
# if the Vim syntax highlighting uses Vim9 constructs they can be used from # if the Vim syntax highlighting uses Vim9 constructs they can be used from
# the command line window. # the command line window.

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
4085,
/**/ /**/
4084, 4084,
/**/ /**/