mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.4916: mouse in Insert mode test fails
Problem: Mouse in Insert mode test fails.
Solution: Fix the text and check relevant positions.
8e8dc9b323
Use nvim_input_mouse() to set mouse position, and discard mouse event
using getchar().
This commit is contained in:
parent
dfeb5b47bc
commit
a501127899
@ -1141,26 +1141,36 @@ endfunc
|
|||||||
|
|
||||||
func Test_edit_MOUSE()
|
func Test_edit_MOUSE()
|
||||||
" This is a simple test, since we not really using the mouse here
|
" This is a simple test, since we not really using the mouse here
|
||||||
if !has("mouse")
|
CheckFeature mouse
|
||||||
return
|
|
||||||
endif
|
|
||||||
10new
|
10new
|
||||||
call setline(1, range(1, 100))
|
call setline(1, range(1, 100))
|
||||||
call cursor(1, 1)
|
call cursor(1, 1)
|
||||||
|
call assert_equal(1, line('w0'))
|
||||||
|
call assert_equal(10, line('w$'))
|
||||||
set mouse=a
|
set mouse=a
|
||||||
|
" One scroll event moves three lines.
|
||||||
call feedkeys("A\<ScrollWheelDown>\<esc>", 'tnix')
|
call feedkeys("A\<ScrollWheelDown>\<esc>", 'tnix')
|
||||||
call assert_equal([0, 4, 1, 0], getpos('.'))
|
call assert_equal(4, line('w0'))
|
||||||
" This should move by one pageDown, but only moves
|
call assert_equal(13, line('w$'))
|
||||||
" by one line when the test is run...
|
" This should move by one page down.
|
||||||
call feedkeys("A\<S-ScrollWheelDown>\<esc>", 'tnix')
|
call feedkeys("A\<S-ScrollWheelDown>\<esc>", 'tnix')
|
||||||
call assert_equal([0, 5, 1, 0], getpos('.'))
|
call assert_equal(14, line('w0'))
|
||||||
set nostartofline
|
set nostartofline
|
||||||
|
" Another page down.
|
||||||
call feedkeys("A\<C-ScrollWheelDown>\<esc>", 'tnix')
|
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 feedkeys("A\<LeftMouse>\<esc>", 'tnix')
|
||||||
call assert_equal([0, 6, 1, 0], getpos('.'))
|
call assert_equal([0, 27, 2, 0], getpos('.'))
|
||||||
call feedkeys("A\<RightMouse>\<esc>", 'tnix')
|
" call test_setmouse(5, 3)
|
||||||
call assert_equal([0, 6, 1, 0], getpos('.'))
|
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('.'))
|
||||||
call cursor(1, 100)
|
call cursor(1, 100)
|
||||||
norm! zt
|
norm! zt
|
||||||
" this should move by a screen up, but when the test
|
" this should move by a screen up, but when the test
|
||||||
|
Loading…
Reference in New Issue
Block a user