diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2018-03-24 14:03:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-24 14:03:16 +0100 |
commit | 84a25770ac4b1c18f0e6bd1e17bdda7eb3c6afa0 (patch) | |
tree | 870b2448151069c8ebb825911f032d6c8a1cb4d3 /test | |
parent | 96273256843ea357d62696ef307d6610ba97334c (diff) | |
parent | 82cd0be2eaf71c0476e15c66ba3e83c76896d407 (diff) | |
download | rneovim-84a25770ac4b1c18f0e6bd1e17bdda7eb3c6afa0.tar.gz rneovim-84a25770ac4b1c18f0e6bd1e17bdda7eb3c6afa0.tar.bz2 rneovim-84a25770ac4b1c18f0e6bd1e17bdda7eb3c6afa0.zip |
Merge #8165 'provider/RPC: fix double-free'
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/provider/python3_spec.lua | 19 | ||||
-rw-r--r-- | test/functional/provider/ruby_spec.lua | 22 |
2 files changed, 34 insertions, 7 deletions
diff --git a/test/functional/provider/python3_spec.lua b/test/functional/provider/python3_spec.lua index f06728ec0e..93ac3ae017 100644 --- a/test/functional/provider/python3_spec.lua +++ b/test/functional/provider/python3_spec.lua @@ -3,6 +3,7 @@ local eval, command, feed = helpers.eval, helpers.command, helpers.feed local eq, clear, insert = helpers.eq, helpers.clear, helpers.insert local expect, write_file = helpers.expect, helpers.write_file local feed_command = helpers.feed_command +local source = helpers.source local missing_provider = helpers.missing_provider do @@ -13,7 +14,7 @@ do end end -describe('python3 commands and functions', function() +describe('python3 provider', function() before_each(function() clear() command('python3 import vim') @@ -82,4 +83,20 @@ describe('python3 commands and functions', function() it('py3eval', function() eq({1, 2, {['key'] = 'val'}}, eval([[py3eval('[1, 2, {"key": "val"}]')]])) end) + + it('RPC call to expand("<afile>") during BufDelete #5245 #5617', function() + source([=[ + python3 << EOF + import vim + def foo(): + vim.eval('expand("<afile>:p")') + vim.eval('bufnr(expand("<afile>:p"))') + EOF + autocmd BufDelete * python3 foo() + autocmd BufUnload * python3 foo()]=]) + feed_command("exe 'split' tempname()") + feed_command("bwipeout!") + feed_command('help help') + eq(2, eval('1+1')) -- Still alive? + end) end) diff --git a/test/functional/provider/ruby_spec.lua b/test/functional/provider/ruby_spec.lua index a2c6c6a10e..e049ac7c41 100644 --- a/test/functional/provider/ruby_spec.lua +++ b/test/functional/provider/ruby_spec.lua @@ -1,16 +1,18 @@ local helpers = require('test.functional.helpers')(after_each) +local clear = helpers.clear +local command = helpers.command +local curbufmeths = helpers.curbufmeths local eq = helpers.eq +local eval = helpers.eval +local expect = helpers.expect local feed = helpers.feed -local clear = helpers.clear +local feed_command = helpers.feed_command local funcs = helpers.funcs -local meths = helpers.meths local insert = helpers.insert -local expect = helpers.expect -local command = helpers.command -local write_file = helpers.write_file -local curbufmeths = helpers.curbufmeths +local meths = helpers.meths local missing_provider = helpers.missing_provider +local write_file = helpers.write_file do clear() @@ -90,3 +92,11 @@ describe(':rubydo command', function() eq(false, curbufmeths.get_option('modified')) end) end) + +describe('ruby provider', function() + it('RPC call to expand("<afile>") during BufDelete #5245 #5617', function() + command([=[autocmd BufDelete * ruby VIM::evaluate('expand("<afile>")')]=]) + feed_command('help help') + eq(2, eval('1+1')) -- Still alive? + end) +end) |