0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.2.3181: Vim9: builtin function test fails without channel feature

Problem:    Vim9: builtin function test fails without channel feature.
Solution:   Add feature checks. (Dominique Pellé, closes #8586)  Make feature
            checks more consistent.
This commit is contained in:
Dominique Pelle 2021-07-18 21:44:37 +02:00 committed by Bram Moolenaar
parent f6488547e3
commit 9ff9c7b974
2 changed files with 37 additions and 15 deletions

View File

@ -398,9 +398,13 @@ def Test_ch_close_in()
enddef
def Test_ch_getjob()
CheckDefAndScriptFailure2(['ch_getjob(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E475: Invalid argument:')
CheckDefAndScriptFailure2(['ch_getjob({"a": 10})'], 'E1013: Argument 1: type mismatch, expected channel but got dict<number>', 'E731: Using a Dictionary as a String')
assert_equal(0, ch_getjob(test_null_channel()))
if !has('channel')
CheckFeature channel
else
CheckDefAndScriptFailure2(['ch_getjob(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E475: Invalid argument:')
CheckDefAndScriptFailure2(['ch_getjob({"a": 10})'], 'E1013: Argument 1: type mismatch, expected channel but got dict<number>', 'E731: Using a Dictionary as a String')
assert_equal(0, ch_getjob(test_null_channel()))
endif
enddef
def Test_ch_info()
@ -1425,17 +1429,27 @@ def Test_items()
enddef
def Test_job_getchannel()
CheckDefAndScriptFailure2(['job_getchannel("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E475: Invalid argument')
assert_fails('job_getchannel(test_null_job())', 'E916: not a valid job')
if !has('job')
CheckFeature job
else
CheckDefAndScriptFailure2(['job_getchannel("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E475: Invalid argument')
assert_fails('job_getchannel(test_null_job())', 'E916: not a valid job')
endif
enddef
def Test_job_info()
CheckDefAndScriptFailure2(['job_info("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E475: Invalid argument')
assert_fails('job_info(test_null_job())', 'E916: not a valid job')
if !has('job')
CheckFeature job
else
CheckDefAndScriptFailure2(['job_info("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E475: Invalid argument')
assert_fails('job_info(test_null_job())', 'E916: not a valid job')
endif
enddef
def Test_job_info_return_type()
if has('job')
if !has('job')
CheckFeature job
else
job_start(&shell)
var jobs = job_info()
assert_equal('list<job>', typename(jobs))
@ -1445,8 +1459,12 @@ def Test_job_info_return_type()
enddef
def Test_job_status()
CheckDefAndScriptFailure2(['job_status("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E475: Invalid argument')
assert_equal('fail', job_status(test_null_job()))
if !has('job')
CheckFeature job
else
CheckDefAndScriptFailure2(['job_status("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E475: Invalid argument')
assert_equal('fail', job_status(test_null_job()))
endif
enddef
def Test_js_decode()
@ -1877,7 +1895,9 @@ def Test_prevnonblank()
enddef
def Test_prompt_getprompt()
if has('channel')
if !has('channel')
CheckFeature channel
else
CheckDefFailure(['prompt_getprompt([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>')
assert_equal('', prompt_getprompt('NonExistingBuf'))
endif
@ -2439,7 +2459,7 @@ enddef
def Test_spellsuggest()
if !has('spell')
MissingFeature 'spell'
CheckFeature spell
else
spellsuggest('marrch', 1, true)->assert_equal(['March'])
endif
@ -2496,7 +2516,7 @@ enddef
def Run_str2float()
if !has('float')
MissingFeature 'float'
CheckFeature float
endif
str2float("1.00")->assert_equal(1.00)
str2float("2e-2")->assert_equal(0.02)
@ -2721,7 +2741,7 @@ enddef
def Test_term_gettty()
if !has('terminal')
MissingFeature 'terminal'
CheckFeature terminal
else
var buf = Run_shell_in_terminal({})
term_gettty(buf, true)->assert_notequal('')
@ -2754,7 +2774,7 @@ def Test_term_setrestore()
enddef
def Test_term_start()
if !has('terminal')
MissingFeature 'terminal'
CheckFeature terminal
else
botright new
var winnr = winnr()

View File

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