aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
diff options
context:
space:
mode:
authorVikram Pal <vikrampal659@gmail.com>2019-10-09 18:34:37 +0530
committerJustin M. Keyes <justinkz@gmail.com>2019-12-01 19:07:57 -0800
commitbd43e011b5b0feba644ec5feae6c174def31a9e4 (patch)
tree98bbbfed1b18d9f58bb7a29122bc37651139661c /test/functional/api/vim_spec.lua
parent276c2da28616d7a4f504c328dbb8857d38ab7a4a (diff)
downloadrneovim-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.lua32
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()