comparison src/testdir/test_cmdline.vim @ 18043:5a0d5f8e1778 v8.1.2017

patch 8.1.2017: cannot execute commands after closing the cmdline window Commit: https://github.com/vim/vim/commit/96e38a86a710fb6daec4550ac1667f019dc3a40e Author: Bram Moolenaar <Bram@vim.org> Date: Mon Sep 9 18:35:33 2019 +0200 patch 8.1.2017: cannot execute commands after closing the cmdline window Problem: Cannot execute commands after closing the cmdline window. Solution: Also trigger BufEnter and WinEnter. (closes https://github.com/vim/vim/issues/4762)
author Bram Moolenaar <Bram@vim.org>
date Mon, 09 Sep 2019 18:45:04 +0200
parents 0dcc2ee838dd
children f4b51934d4f8
comparison
equal deleted inserted replaced
18042:1616f2fc1e3c 18043:5a0d5f8e1778
602 call assert_equal(8, getcmdpos()) 602 call assert_equal(8, getcmdpos())
603 call assert_equal(a:cmdtype, getcmdtype()) 603 call assert_equal(a:cmdtype, getcmdtype())
604 return '' 604 return ''
605 endfunc 605 endfunc
606 606
607 set cpo&
608
607 func Test_getcmdtype() 609 func Test_getcmdtype()
608 call feedkeys(":MyCmd a\<C-R>=Check_cmdline(':')\<CR>\<Esc>", "xt") 610 call feedkeys(":MyCmd a\<C-R>=Check_cmdline(':')\<CR>\<Esc>", "xt")
609 611
610 let cmdtype = '' 612 let cmdtype = ''
611 debuggreedy 613 debuggreedy
640 642
641 call feedkeys(":\<C-F>:let a = getcmdwintype()\<CR>:q\<CR>", 'x!') 643 call feedkeys(":\<C-F>:let a = getcmdwintype()\<CR>:q\<CR>", 'x!')
642 call assert_equal(':', a) 644 call assert_equal(':', a)
643 645
644 call assert_equal('', getcmdwintype()) 646 call assert_equal('', getcmdwintype())
647 endfunc
648
649 func Test_getcmdwin_autocmd()
650 let s:seq = []
651 augroup CmdWin
652 au WinEnter * call add(s:seq, 'WinEnter ' .. win_getid())
653 au WinLeave * call add(s:seq, 'WinLeave ' .. win_getid())
654 au BufEnter * call add(s:seq, 'BufEnter ' .. bufnr())
655 au BufLeave * call add(s:seq, 'BufLeave ' .. bufnr())
656 au CmdWinEnter * call add(s:seq, 'CmdWinEnter ' .. win_getid())
657 au CmdWinLeave * call add(s:seq, 'CmdWinLeave ' .. win_getid())
658
659 let org_winid = win_getid()
660 let org_bufnr = bufnr()
661 call feedkeys("q::let a = getcmdwintype()\<CR>:let s:cmd_winid = win_getid()\<CR>:let s:cmd_bufnr = bufnr()\<CR>:q\<CR>", 'x!')
662 call assert_equal(':', a)
663 call assert_equal([
664 \ 'WinLeave ' .. org_winid,
665 \ 'WinEnter ' .. s:cmd_winid,
666 \ 'BufLeave ' .. org_bufnr,
667 \ 'BufEnter ' .. s:cmd_bufnr,
668 \ 'CmdWinEnter ' .. s:cmd_winid,
669 \ 'CmdWinLeave ' .. s:cmd_winid,
670 \ 'BufLeave ' .. s:cmd_bufnr,
671 \ 'WinLeave ' .. s:cmd_winid,
672 \ 'WinEnter ' .. org_winid,
673 \ 'BufEnter ' .. org_bufnr,
674 \ ], s:seq)
675
676 au!
677 augroup END
645 endfunc 678 endfunc
646 679
647 func Test_verbosefile() 680 func Test_verbosefile()
648 set verbosefile=Xlog 681 set verbosefile=Xlog
649 echomsg 'foo' 682 echomsg 'foo'
699 call feedkeys(":\"テキストエディタ\<home>\<right>\<right>ab\<right>\<insert>cd\<enter>", 'xt') 732 call feedkeys(":\"テキストエディタ\<home>\<right>\<right>ab\<right>\<insert>cd\<enter>", 'xt')
700 call assert_equal('"テabキcdエディタ', @:) 733 call assert_equal('"テabキcdエディタ', @:)
701 734
702 let &encoding = encoding_save 735 let &encoding = encoding_save
703 endfunc 736 endfunc
704
705 set cpo&