neovim

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

commit 5382ed80288fa7476e0c249916c8def3c19726f9
parent dfeb5b47bcde7984b2b1820f0268d0d5d736f98d
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Mon,  9 May 2022 17:42:06 +0800

Merge pull request #18485 from zeertzjq/vim-8.2.4915

vim-patch:8.2.{4916,4922}: mouse in Insert mode test fails
Diffstat:
Msrc/nvim/testdir/test_edit.vim | 34+++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/src/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim @@ -1141,26 +1141,38 @@ endfunc func Test_edit_MOUSE() " This is a simple test, since we not really using the mouse here - if !has("mouse") - return - endif + CheckFeature mouse 10new call setline(1, range(1, 100)) call cursor(1, 1) + call assert_equal(1, line('w0')) + call assert_equal(10, line('w$')) set mouse=a + " One scroll event moves three lines. call feedkeys("A\<ScrollWheelDown>\<esc>", 'tnix') - call assert_equal([0, 4, 1, 0], getpos('.')) - " This should move by one pageDown, but only moves - " by one line when the test is run... + call assert_equal(4, line('w0')) + call assert_equal(13, line('w$')) + " This should move by one page down. call feedkeys("A\<S-ScrollWheelDown>\<esc>", 'tnix') - call assert_equal([0, 5, 1, 0], getpos('.')) + call assert_equal(14, line('w0')) set nostartofline + " Another page down. call feedkeys("A\<C-ScrollWheelDown>\<esc>", 'tnix') - call assert_equal([0, 6, 1, 0], getpos('.')) + call assert_equal(24, line('w0')) + + call assert_equal([0, 24, 2, 0], getpos('.')) + " call test_setmouse(4, 3) + call nvim_input_mouse('left', 'press', '', 0, 3, 2) " set mouse position + call getchar() " discard mouse event but keep mouse position call feedkeys("A\<LeftMouse>\<esc>", 'tnix') - call assert_equal([0, 6, 1, 0], getpos('.')) - call feedkeys("A\<RightMouse>\<esc>", 'tnix') - call assert_equal([0, 6, 1, 0], getpos('.')) + call assert_equal([0, 27, 2, 0], getpos('.')) + set mousemodel=extend + " call test_setmouse(5, 3) + call nvim_input_mouse('right', 'press', '', 0, 4, 2) " set mouse position + call getchar() " discard mouse event but keep mouse position + call feedkeys("A\<RightMouse>\<esc>\<esc>", 'tnix') + call assert_equal([0, 28, 2, 0], getpos('.')) + set mousemodel& call cursor(1, 100) norm! zt " this should move by a screen up, but when the test