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:
@@ -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.
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user