Mercurial > vim
changeset 34991:ca76febc62fc v9.1.0351
patch 9.1.0351: No test that completing a partial mapping clears 'showcmd'
Commit: https://github.com/vim/vim/commit/094c4390bdf3473fab122aa02883e63ce4e66cdb
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Apr 18 22:09:37 2024 +0200
patch 9.1.0351: No test that completing a partial mapping clears 'showcmd'
Problem: No test that completing a partial mapping clears 'showcmd'.
Solution: Complete partial mappings in Test_showcmd_part_map() instead
of using :echo. Adjust some comments (zeertzjq).
closes: #14580
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 18 Apr 2024 22:15:04 +0200 |
parents | f60dd4ced756 |
children | 4188e78cbbce |
files | src/getchar.c src/testdir/test_mapping.vim src/testdir/test_utf8.vim src/version.c |
diffstat | 4 files changed, 15 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/getchar.c +++ b/src/getchar.c @@ -1281,6 +1281,9 @@ del_typebuf(int len, int offset) typebuf.tb_change_cnt = 1; } +/* + * State for adding bytes to a recording or 'showcmd'. + */ typedef struct { int prev_c;
--- a/src/testdir/test_mapping.vim +++ b/src/testdir/test_mapping.vim @@ -1811,7 +1811,7 @@ endfunc func Test_showcmd_part_map() CheckRunVimInTerminal - let lines =<< trim eval END + let lines =<< trim END set notimeout showcmd nnoremap ,a <Ignore> nnoremap ;a <Ignore> @@ -1831,20 +1831,21 @@ func Test_showcmd_part_map() for c in [',', ';', 'À', 'Ë', 'β', 'ω', '…'] call term_sendkeys(buf, c) call WaitForAssert({-> assert_equal(c, trim(term_getline(buf, 6)))}) - call term_sendkeys(buf, "\<C-C>:echo\<CR>") - call WaitForAssert({-> assert_equal('', term_getline(buf, 6))}) + call term_sendkeys(buf, 'a') + call WaitForAssert({-> assert_equal('', trim(term_getline(buf, 6)))}) endfor call term_sendkeys(buf, "\<C-W>") call WaitForAssert({-> assert_equal('^W', trim(term_getline(buf, 6)))}) - call term_sendkeys(buf, "\<C-C>:echo\<CR>") - call WaitForAssert({-> assert_equal('', term_getline(buf, 6))}) + call term_sendkeys(buf, 'a') + call WaitForAssert({-> assert_equal('', trim(term_getline(buf, 6)))}) - " Use feedkeys() as terminal buffer cannot forward this + " Use feedkeys() as terminal buffer cannot forward unsimplified Ctrl-W. + " This is like typing Ctrl-W with modifyOtherKeys enabled. call term_sendkeys(buf, ':call feedkeys("\<*C-W>", "m")' .. " | echo\<CR>") call WaitForAssert({-> assert_equal('^W', trim(term_getline(buf, 6)))}) - call term_sendkeys(buf, "\<C-C>:echo\<CR>") - call WaitForAssert({-> assert_equal('', term_getline(buf, 6))}) + call term_sendkeys(buf, 'a') + call WaitForAssert({-> assert_equal('', trim(term_getline(buf, 6)))}) call StopVimInTerminal(buf) endfunc
--- a/src/testdir/test_utf8.vim +++ b/src/testdir/test_utf8.vim @@ -300,7 +300,7 @@ func Test_setcellwidths_dump() call StopVimInTerminal(buf) endfunc -" When `setcellwidth` is used on characters that are not targets of `ambiwidth`. +" Test setcellwidths() on characters that are not targets of 'ambiwidth'. func Test_setcellwidths_with_non_ambiwidth_character_dump() CheckRunVimInTerminal @@ -321,7 +321,6 @@ func Test_setcellwidths_with_non_ambiwid call StopVimInTerminal(buf) endfunc - " For some reason this test causes Test_customlist_completion() to fail on CI, " so run it as the last test. func Test_zz_ambiwidth_hl_dump()