diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-12-20 05:58:48 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-20 05:58:48 +0800 |
commit | c95845f3df256c6d0a15e959d2d2133bfe3b2d43 (patch) | |
tree | 235ca1c0cf7e0debdadef1ba03d7dcba23f922e4 /test | |
parent | a61d8b615cf99e317fd78a5c9b39aed90908fc51 (diff) | |
download | rneovim-c95845f3df256c6d0a15e959d2d2133bfe3b2d43.tar.gz rneovim-c95845f3df256c6d0a15e959d2d2133bfe3b2d43.tar.bz2 rneovim-c95845f3df256c6d0a15e959d2d2133bfe3b2d43.zip |
vim-patch:9.0.2177: Wrong cursor position when dragging out of window (#26661)
Problem: Wrong cursor position when dragging out of window.
Solution: Don't use ScreenCols[] when mouse is not in current window.
closes: vim/vim#13717
https://github.com/vim/vim/commit/ec14924368e23f2430815c009bd554f88de9c57f
Diffstat (limited to 'test')
-rw-r--r-- | test/old/testdir/test_visual.vim | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/test/old/testdir/test_visual.vim b/test/old/testdir/test_visual.vim index 5d70492451..b09078352e 100644 --- a/test/old/testdir/test_visual.vim +++ b/test/old/testdir/test_visual.vim @@ -1589,6 +1589,41 @@ func Test_Visual_r_CTRL_C() call feedkeys("\<c-v>$gr\<c-c>", 'tx') call assert_equal([''], getline(1, 1)) bw! -endfu +endfunc + +func Test_visual_drag_out_of_window() + rightbelow vnew + call setline(1, '123456789') + set mouse=a + func ClickExpr(off) + call Ntest_setmouse(1, getwininfo(win_getid())[0].wincol + a:off) + return "\<LeftMouse>" + endfunc + func DragExpr(off) + call Ntest_setmouse(1, getwininfo(win_getid())[0].wincol + a:off) + return "\<LeftDrag>" + endfunc + + nnoremap <expr> <F2> ClickExpr(5) + nnoremap <expr> <F3> DragExpr(-1) + redraw + call feedkeys("\<F2>\<F3>\<LeftRelease>", 'tx') + call assert_equal([1, 6], [col('.'), col('v')]) + call feedkeys("\<Esc>", 'tx') + + nnoremap <expr> <F2> ClickExpr(6) + nnoremap <expr> <F3> DragExpr(-2) + redraw + call feedkeys("\<F2>\<F3>\<LeftRelease>", 'tx') + call assert_equal([1, 7], [col('.'), col('v')]) + call feedkeys("\<Esc>", 'tx') + + nunmap <F2> + nunmap <F3> + delfunc ClickExpr + delfunc DragExpr + set mouse& + bwipe! +endfunc " vim: shiftwidth=2 sts=2 expandtab |