aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-05-09 17:42:06 +0800
committerGitHub <noreply@github.com>2022-05-09 17:42:06 +0800
commit5382ed80288fa7476e0c249916c8def3c19726f9 (patch)
tree66c4db696c3dfc1db267f2b4b97ad19334600d71
parentdfeb5b47bcde7984b2b1820f0268d0d5d736f98d (diff)
parent84c031fade85e48e549fa20ecafd71c3f9540e2b (diff)
downloadrneovim-5382ed80288fa7476e0c249916c8def3c19726f9.tar.gz
rneovim-5382ed80288fa7476e0c249916c8def3c19726f9.tar.bz2
rneovim-5382ed80288fa7476e0c249916c8def3c19726f9.zip
Merge pull request #18485 from zeertzjq/vim-8.2.4915
vim-patch:8.2.{4916,4922}: mouse in Insert mode test fails
-rw-r--r--src/nvim/testdir/test_edit.vim34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim
index eea5d190b2..848666727f 100644
--- 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