diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-09-22 05:44:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-22 05:44:45 +0800 |
commit | 6555176f34f102a8878a0bac55fd80459c943aa2 (patch) | |
tree | ecb102dd40dd82231bfeb98b5fef3e0ccdb0d179 /test | |
parent | c1ff21666862237d41d80c4a07529457439380ad (diff) | |
download | rneovim-6555176f34f102a8878a0bac55fd80459c943aa2.tar.gz rneovim-6555176f34f102a8878a0bac55fd80459c943aa2.tar.bz2 rneovim-6555176f34f102a8878a0bac55fd80459c943aa2.zip |
vim-patch:9.0.1923: curswant wrong on click with 've' and 'nowrap' set (#25293)
Problem: curswant wrong on click with 've' and 'nowrap' set
Solution: Add w_leftcol to mouse click column.
closes: vim/vim#13142
https://github.com/vim/vim/commit/db54e989b5cff3cc6442dfc500e3962cc1c0b6d0
Diffstat (limited to 'test')
-rw-r--r-- | test/old/testdir/test_virtualedit.vim | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/old/testdir/test_virtualedit.vim b/test/old/testdir/test_virtualedit.vim index 4c11fcd99e..4ab69d89fe 100644 --- a/test/old/testdir/test_virtualedit.vim +++ b/test/old/testdir/test_virtualedit.vim @@ -599,6 +599,61 @@ func Test_virtualedit_mouse() call feedkeys("\<LeftMouse>", "xt") call assert_equal([0, 1, 10, 2, 15], getcurpos()) + setlocal nowrap + call setline(2, repeat('a', 19)) + normal! j14zl + redraw + call Ntest_setmouse(row, 21 + 1) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 1, 10, 2, 15], getcurpos()) + call Ntest_setmouse(row, 21 + 11) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 1, 10, 12, 25], getcurpos()) + call Ntest_setmouse(row + 1, 21 + 1) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 2, 15, 0, 15], getcurpos()) + call Ntest_setmouse(row + 1, 21 + 11) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 2, 20, 5, 25], getcurpos()) + + setlocal number numberwidth=2 + redraw + call Ntest_setmouse(row, 21 + 3) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 1, 10, 2, 15], getcurpos()) + call Ntest_setmouse(row, 21 + 13) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 1, 10, 12, 25], getcurpos()) + call Ntest_setmouse(row + 1, 21 + 3) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 2, 15, 0, 15], getcurpos()) + call Ntest_setmouse(row + 1, 21 + 13) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 2, 20, 5, 25], getcurpos()) + setlocal nonumber + + if has('signs') + sign define Sign1 text=口 + sign place 1 name=Sign1 line=1 + sign place 2 name=Sign1 line=2 + redraw + call Ntest_setmouse(row, 21 + 3) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 1, 10, 2, 15], getcurpos()) + call Ntest_setmouse(row, 21 + 13) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 1, 10, 12, 25], getcurpos()) + call Ntest_setmouse(row + 1, 21 + 3) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 2, 15, 0, 15], getcurpos()) + call Ntest_setmouse(row + 1, 21 + 13) + call feedkeys("\<LeftMouse>", "xt") + call assert_equal([0, 2, 20, 5, 25], getcurpos()) + sign unplace 1 + sign unplace 2 + sign undefine Sign1 + endif + bwipe! let &mouse = save_mouse set virtualedit& |