neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit afe34d92a7f28245a96748d70b5e073715b94e22
parent 75dab3cf0781f664ac866f511df2fb2c06aa7d17
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sat, 18 Feb 2023 06:50:58 +0800

vim-patch:9.0.1315: escaping for completion of map command not properly tested

Problem:    Escaping for completion of map command not properly tested.
Solution:   Add a few test cases. (closes vim/vim#12009)

https://github.com/vim/vim/commit/c3a26c6bff666a368b0a22d35d2e00aa62770f8c

Diffstat:
Msrc/nvim/testdir/test_cmdline.vim | 6+++++-
Msrc/nvim/testdir/test_cpoptions.vim | 13++++++++++---
2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim @@ -330,17 +330,21 @@ func Test_map_completion() call assert_equal('"map <Left>', getreg(':')) call feedkeys(":map <A-Left>\<Tab>\<Home>\"\<CR>", 'xt') call assert_equal("\"map <A-Left>\<Tab>", getreg(':')) + call feedkeys(":map <M-Left>\<Tab>\<Home>\"\<CR>", 'xt') + call assert_equal("\"map <M-Left>x", getreg(':')) unmap ,f unmap ,g unmap <Left> unmap <A-Left>x - set cpo-=< cpo-=B cpo-=k + set cpo-=< cpo-=k map <Left> left call feedkeys(":map <L\<Tab>\<Home>\"\<CR>", 'xt') call assert_equal('"map <Left>', getreg(':')) call feedkeys(":map <M\<Tab>\<Home>\"\<CR>", 'xt') call assert_equal("\"map <M\<Tab>", getreg(':')) + call feedkeys(":map \<C-V>\<C-V><M\<Tab>\<Home>\"\<CR>", 'xt') + call assert_equal("\"map \<C-V><Middle>x", getreg(':')) unmap <Left> " set cpo+=< diff --git a/src/nvim/testdir/test_cpoptions.vim b/src/nvim/testdir/test_cpoptions.vim @@ -68,15 +68,20 @@ endfunc func Test_cpo_B() let save_cpo = &cpo new + imap <buffer> x<Bslash>k Test set cpo-=B iabbr <buffer> abc ab\<BS>d exe "normal iabc " call assert_equal('ab<BS>d ', getline(1)) + call feedkeys(":imap <buffer> x\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"imap <buffer> x\\k', @:) %d set cpo+=B iabbr <buffer> abc ab\<BS>d exe "normal iabc " call assert_equal('abd ', getline(1)) + call feedkeys(":imap <buffer> x\<C-A>\<C-B>\"\<CR>", 'tx') + call assert_equal('"imap <buffer> x\k', @:) close! let &cpo = save_cpo endfunc @@ -195,7 +200,8 @@ func Test_cpo_f() set cpo+=f read test_cpoptions.vim call assert_equal('test_cpoptions.vim', @%) - close! + + bwipe! let &cpo = save_cpo endfunc @@ -428,7 +434,7 @@ func Test_cpo_O() let &cpo = save_cpo endfunc -" Test for the 'p' flag in 'cpo' is in the test_lispwords.vim file. +" Test for the 'p' flag in 'cpo' is in the test_lispindent.vim file. " Test for the 'P' flag in 'cpo' (appending to a file sets the current file " name) @@ -444,7 +450,8 @@ func Test_cpo_P() set cpo+=P write >> XfileCpoP call assert_equal('XfileCpoP', @%) - close! + + bwipe! call delete('XfileCpoP') let &cpo = save_cpo endfunc