diff options
| -rw-r--r-- | test/functional/shell/viml_system_spec.lua | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/test/functional/shell/viml_system_spec.lua b/test/functional/shell/viml_system_spec.lua index effabe715c..6dde2ef538 100644 --- a/test/functional/shell/viml_system_spec.lua +++ b/test/functional/shell/viml_system_spec.lua @@ -23,6 +23,15 @@ end  describe('system()', function()    before_each(clear) +  it('sets the v:shell_error variable', function() +    eval([[system("sh -c 'exit'")]]) +    eq(0, eval('v:shell_error')) +    eval([[system("sh -c 'exit 1'")]]) +    eq(1, eval('v:shell_error')) +    eval([[system("sh -c 'exit 5'")]]) +    eq(5, eval('v:shell_error')) +  end) +    describe('passing no input', function()      it('returns the program output', function()        eq("echoed", eval('system("echo -n echoed")')) @@ -83,6 +92,15 @@ describe('systemlist()', function()    -- string.    before_each(clear) +  it('sets the v:shell_error variable', function() +    eval([[systemlist("sh -c 'exit'")]]) +    eq(0, eval('v:shell_error')) +    eval([[systemlist("sh -c 'exit 1'")]]) +    eq(1, eval('v:shell_error')) +    eval([[systemlist("sh -c 'exit 5'")]]) +    eq(5, eval('v:shell_error')) +  end) +    describe('passing string with linefeed characters as input', function()      it('splits the output on linefeed characters', function()        eq({'abc', 'def', 'ghi'}, eval([[systemlist("cat -", "abc\ndef\nghi")]])) | 
