diff options
author | Vikram Pal <vikrampal659@gmail.com> | 2019-10-09 18:34:37 +0530 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-12-01 19:07:57 -0800 |
commit | bd43e011b5b0feba644ec5feae6c174def31a9e4 (patch) | |
tree | 98bbbfed1b18d9f58bb7a29122bc37651139661c /test/functional/api/vim_spec.lua | |
parent | 276c2da28616d7a4f504c328dbb8857d38ab7a4a (diff) | |
download | rneovim-bd43e011b5b0feba644ec5feae6c174def31a9e4.tar.gz rneovim-bd43e011b5b0feba644ec5feae6c174def31a9e4.tar.bz2 rneovim-bd43e011b5b0feba644ec5feae6c174def31a9e4.zip |
API: nvim_source_output
- Similar to nvim_source but will capture the output
- Add meaningful VimL tracebacks for nvim_source
- Handle got_int
- Add error reporting
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r-- | test/functional/api/vim_spec.lua | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index a01ef2d6dd..9a7744142a 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -84,7 +84,7 @@ describe('API', function() it(':verbose set {option}?', function() nvim('source', 'set nowrap') eq('nowrap\n\tLast set from :source (no file)', - nvim('command_output', 'verbose set wrap?')) + nvim('source_output', 'verbose set wrap?')) end) it('multiline input', function() @@ -165,6 +165,36 @@ describe('API', function() eq('overwritten', request('nvim_get_var', 'x5')) os.remove(fname) end) + + it('traceback', function() + local fname = helpers.tmpname() + write_file(fname, 'echo "hello"\n') + local sourcing_fname = helpers.tmpname() + write_file(sourcing_fname, 'call nvim_source("source '..fname..'")\n') + meths.source('set verbose=2') + print() + local traceback_output = 'line 0: sourcing "'..sourcing_fname..'"\n'.. + 'line 0: sourcing "'..fname..'"\n'.. + 'hello\n'.. + 'finished sourcing '..fname..'\n'.. + 'continuing in nvim_source(..) called at '..sourcing_fname..':1\n'.. + 'finished sourcing '..sourcing_fname..'\n'.. + 'continuing in nvim_source(..) called at nvim_source_output(..):0' + eq(traceback_output, meths.source_output('call nvim_source("source '..sourcing_fname..'")')) + os.remove(fname) + os.remove(sourcing_fname) + end) + end) + + describe('nvim_source_output', function() + it('multiline input', function() + eq('this is spinal tap', + nvim('source_output', 'lua <<EOF\n\n\nprint("this is spinal tap")\n\n\nEOF')) + end) + + it('empty output', function() + eq('', nvim('source_output', 'echo')) + end) end) describe('nvim_command', function() |