diff src/testdir/test_ins_complete.vim @ 22427:58cdc5d7f143 v8.2.1762

patch 8.2.1762: when a timer uses :stopinsert completion isn't stopped Commit: https://github.com/vim/vim/commit/d0e1b7103c14eb0d175c6b245b4b6ed93a204da9 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 27 20:13:03 2020 +0200 patch 8.2.1762: when a timer uses :stopinsert completion isn't stopped Problem: When a timer uses :stopinsert Insert mode completion isn't stopped. (Stanley Chan) Solution: Call ins_compl_prep(ESC).
author Bram Moolenaar <Bram@vim.org>
date Sun, 27 Sep 2020 20:15:03 +0200
parents 0a5770061295
children ba3f547dc490
line wrap: on
line diff
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -407,6 +407,28 @@ func Test_ins_completeslash()
   set completeslash=
 endfunc
 
+func Test_pum_stopped_by_timer()
+  CheckScreendump
+
+  let lines =<< trim END
+    call setline(1, ['hello', 'hullo', 'heeee', ''])
+    func StartCompl()
+      call timer_start(100, { -> execute('stopinsert') })
+      call feedkeys("Gah\<C-N>")
+    endfunc
+  END
+
+  call writefile(lines, 'Xpumscript')
+  let buf = RunVimInTerminal('-S Xpumscript', #{rows: 12})
+  call term_sendkeys(buf, ":call StartCompl()\<CR>")
+  call TermWait(buf, 200)
+  call term_sendkeys(buf, "k")
+  call VerifyScreenDump(buf, 'Test_pum_stopped_by_timer', {})
+
+  call StopVimInTerminal(buf)
+  call delete('Xpumscript')
+endfunc
+
 func Test_pum_with_folds_two_tabs()
   CheckScreendump