mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:9.1.0351: No test that completing a partial mapping clears 'showcmd' (#28406)
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: vim/vim#14580
094c4390bd
This commit is contained in:
parent
c791aa8aae
commit
13ebfafc95
@ -64,6 +64,7 @@
|
|||||||
#include "nvim/undo.h"
|
#include "nvim/undo.h"
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h"
|
||||||
|
|
||||||
|
/// State for adding bytes to a recording or 'showcmd'.
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int prev_c;
|
int prev_c;
|
||||||
uint8_t buf[MB_MAXBYTES * 3 + 4];
|
uint8_t buf[MB_MAXBYTES * 3 + 4];
|
||||||
|
@ -214,8 +214,7 @@ describe('mapping', function()
|
|||||||
{1:~ }|*4
|
{1:~ }|*4
|
||||||
%s |
|
%s |
|
||||||
]]):format(c))
|
]]):format(c))
|
||||||
feed('<C-C>')
|
feed('a')
|
||||||
command('echo')
|
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
^ |
|
^ |
|
||||||
{1:~ }|*4
|
{1:~ }|*4
|
||||||
@ -229,8 +228,7 @@ describe('mapping', function()
|
|||||||
{1:~ }|*4
|
{1:~ }|*4
|
||||||
^W |
|
^W |
|
||||||
]])
|
]])
|
||||||
feed('<C-C>')
|
feed('a')
|
||||||
command('echo')
|
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
^ |
|
^ |
|
||||||
{1:~ }|*4
|
{1:~ }|*4
|
||||||
@ -243,8 +241,7 @@ describe('mapping', function()
|
|||||||
{1:~ }|*4
|
{1:~ }|*4
|
||||||
^W |
|
^W |
|
||||||
]])
|
]])
|
||||||
feed('<C-C>')
|
feed('a')
|
||||||
command('echo')
|
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
^ |
|
^ |
|
||||||
{1:~ }|*4
|
{1:~ }|*4
|
||||||
|
@ -1716,7 +1716,7 @@ endfunc
|
|||||||
func Test_showcmd_part_map()
|
func Test_showcmd_part_map()
|
||||||
CheckRunVimInTerminal
|
CheckRunVimInTerminal
|
||||||
|
|
||||||
let lines =<< trim eval END
|
let lines =<< trim END
|
||||||
set notimeout showcmd
|
set notimeout showcmd
|
||||||
nnoremap ,a <Ignore>
|
nnoremap ,a <Ignore>
|
||||||
nnoremap ;a <Ignore>
|
nnoremap ;a <Ignore>
|
||||||
@ -1736,20 +1736,21 @@ func Test_showcmd_part_map()
|
|||||||
for c in [',', ';', 'À', 'Ë', 'β', 'ω', '…']
|
for c in [',', ';', 'À', 'Ë', 'β', 'ω', '…']
|
||||||
call term_sendkeys(buf, c)
|
call term_sendkeys(buf, c)
|
||||||
call WaitForAssert({-> assert_equal(c, trim(term_getline(buf, 6)))})
|
call WaitForAssert({-> assert_equal(c, trim(term_getline(buf, 6)))})
|
||||||
call term_sendkeys(buf, "\<C-C>:echo\<CR>")
|
call term_sendkeys(buf, 'a')
|
||||||
call WaitForAssert({-> assert_equal('', term_getline(buf, 6))})
|
call WaitForAssert({-> assert_equal('', trim(term_getline(buf, 6)))})
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
call term_sendkeys(buf, "\<C-W>")
|
call term_sendkeys(buf, "\<C-W>")
|
||||||
call WaitForAssert({-> assert_equal('^W', trim(term_getline(buf, 6)))})
|
call WaitForAssert({-> assert_equal('^W', trim(term_getline(buf, 6)))})
|
||||||
call term_sendkeys(buf, "\<C-C>:echo\<CR>")
|
call term_sendkeys(buf, 'a')
|
||||||
call WaitForAssert({-> assert_equal('', term_getline(buf, 6))})
|
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 term_sendkeys(buf, ':call feedkeys("\<*C-W>", "m")' .. " | echo\<CR>")
|
||||||
call WaitForAssert({-> assert_equal('^W', trim(term_getline(buf, 6)))})
|
call WaitForAssert({-> assert_equal('^W', trim(term_getline(buf, 6)))})
|
||||||
call term_sendkeys(buf, "\<C-C>:echo\<CR>")
|
call term_sendkeys(buf, 'a')
|
||||||
call WaitForAssert({-> assert_equal('', term_getline(buf, 6))})
|
call WaitForAssert({-> assert_equal('', trim(term_getline(buf, 6)))})
|
||||||
|
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
@ -300,7 +300,7 @@ func Test_setcellwidths_dump()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
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()
|
func Test_setcellwidths_with_non_ambiwidth_character_dump()
|
||||||
CheckRunVimInTerminal
|
CheckRunVimInTerminal
|
||||||
|
|
||||||
@ -321,7 +321,6 @@ func Test_setcellwidths_with_non_ambiwidth_character_dump()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" For some reason this test causes Test_customlist_completion() to fail on CI,
|
" For some reason this test causes Test_customlist_completion() to fail on CI,
|
||||||
" so run it as the last test.
|
" so run it as the last test.
|
||||||
func Test_zz_ambiwidth_hl_dump()
|
func Test_zz_ambiwidth_hl_dump()
|
||||||
|
Loading…
Reference in New Issue
Block a user