aboutsummaryrefslogtreecommitdiff
path: root/test/functional
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/job/job_spec.lua7
-rw-r--r--test/functional/shell/viml_system_spec.lua9
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()