Mercurial > vim
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& |