diff options
Diffstat (limited to 'test/functional')
-rw-r--r-- | test/functional/job/job_spec.lua | 7 | ||||
-rw-r--r-- | test/functional/shell/viml_system_spec.lua | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/test/functional/job/job_spec.lua b/test/functional/job/job_spec.lua index df989b3ef9..259fa52443 100644 --- a/test/functional/job/job_spec.lua +++ b/test/functional/job/job_spec.lua @@ -29,6 +29,13 @@ describe('jobs', function() ]]) end) + it('uses &shell and &shellcmdflag if passed a string', function() + nvim('command', "let $VAR = 'abc'") + nvim('command', "let j = jobstart('echo $VAR', g:job_opts)") + eq({'notification', 'stdout', {0, {'abc', ''}}}, next_msg()) + eq({'notification', 'exit', {0, 0}}, next_msg()) + end) + it('returns 0 when it fails to start', function() local status, rv = pcall(eval, "jobstart([])") eq(false, status) diff --git a/test/functional/shell/viml_system_spec.lua b/test/functional/shell/viml_system_spec.lua index 922770ad42..bd47d31a14 100644 --- a/test/functional/shell/viml_system_spec.lua +++ b/test/functional/shell/viml_system_spec.lua @@ -44,7 +44,7 @@ describe('system()', function() eq(127, eval('v:shell_error')) end) - describe('executes shell function', function() + describe('executes shell function if passed a string', function() local screen before_each(function() @@ -192,6 +192,13 @@ describe('system()', function() end) end) end + + describe('command passed as a list', function() + it('does not execute &shell', function() + eq('* $NOTHING ~/file', + eval("system(['echo', '-n', '*', '$NOTHING', '~/file'])")) + end) + end) end) describe('systemlist()', function() |