aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-03-10 16:57:54 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-03-10 17:22:39 +0800
commita80ec88906220b6527c553f7614180ba3bfde169 (patch)
tree4dce94dcf97eb45765253bc9834e64a9ed014077
parentc3208feb72234840643a04d2282c37276fd53cda (diff)
downloadrneovim-a80ec88906220b6527c553f7614180ba3bfde169.tar.gz
rneovim-a80ec88906220b6527c553f7614180ba3bfde169.tar.bz2
rneovim-a80ec88906220b6527c553f7614180ba3bfde169.zip
test: add a test for #17489
-rw-r--r--test/functional/editor/completion_spec.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/functional/editor/completion_spec.lua b/test/functional/editor/completion_spec.lua
index befad29922..1a0ee54505 100644
--- a/test/functional/editor/completion_spec.lua
+++ b/test/functional/editor/completion_spec.lua
@@ -1193,4 +1193,23 @@ describe('completion', function()
eq('foobar', eval('g:word'))
feed('<esc>')
end)
+
+ it('does not crash if text is changed by first call to complete function #17489', function()
+ source([[
+ func Complete(findstart, base) abort
+ if a:findstart
+ let col = col('.')
+ call complete_add('#')
+ return col - 1
+ else
+ return []
+ endif
+ endfunc
+
+ set completeopt=longest
+ set completefunc=Complete
+ ]])
+ feed('ifoo#<C-X><C-U>')
+ assert_alive()
+ end)
end)