vim-patch:8.2.4818: no test for what 8.2.4806 fixes

Problem:    No test for what 8.2.4806 fixes.
Solution:   Add a test. (closes vim/vim#10727)
ac92ab7719

Test cannot be used because it must use test_setmouse(). Use a Lua test.
This commit is contained in:
zeertzjq 2022-04-25 06:41:01 +08:00
parent c8fe8c5ea4
commit 48a35106ef
2 changed files with 43 additions and 1 deletions

View File

@ -676,6 +676,35 @@ func Test_plug_remap()
%bw!
endfunc
func Test_mouse_drag_mapped_start_select()
CheckFunction test_setmouse
set mouse=a
set selectmode=key,mouse
func ClickExpr()
call test_setmouse(1, 1)
return "\<LeftMouse>"
endfunc
func DragExpr()
call test_setmouse(1, 2)
return "\<LeftDrag>"
endfunc
nnoremap <expr> <F2> ClickExpr()
nmap <expr> <F3> DragExpr()
nnoremap <LeftDrag> <LeftDrag><Cmd><CR>
exe "normal \<F2>\<F3>"
call assert_equal('s', mode())
exe "normal! \<C-\>\<C-N>"
nunmap <LeftDrag>
nunmap <F2>
nunmap <F3>
delfunc ClickExpr
delfunc DragExpr
set selectmode&
set mouse&
endfunc
" Test for mapping <LeftDrag> in Insert mode
func Test_mouse_drag_insert_map()
CheckFunction test_setmouse

View File

@ -129,10 +129,23 @@ describe('mapping', function()
]])
end)
it('dragging starts Select mode even if coming from mapping vim-patch:8.2.4806', function()
command('set mouse=a')
command('set selectmode=mouse')
command('nnoremap <LeftDrag> <LeftDrag><Cmd><CR>')
sleep(10)
meths.input_mouse('left', 'press', '', 0, 0, 0)
sleep(10)
meths.input_mouse('left', 'drag', '', 0, 0, 1)
sleep(10)
eq('s', eval('mode()'))
end)
it('<LeftDrag> mapping in Insert mode works correctly vim-patch:8.2.4692', function()
command('set mouse=a')
command([[inoremap <LeftDrag> <LeftDrag><Cmd>let g:dragged = 1<CR>]])
command('inoremap <LeftDrag> <LeftDrag><Cmd>let g:dragged = 1<CR>')
feed('i')
sleep(10)
meths.input_mouse('left', 'press', '', 0, 0, 0)