1
0
forked from aniani/vim

patch 8.1.1262: cannot simulate a mouse click in a test

Problem:    Cannot simulate a mouse click in a test.
Solution:   Add test_setmouse().
This commit is contained in:
Bram Moolenaar
2019-05-04 15:47:48 +02:00
parent 25190db225
commit bb8476be87
4 changed files with 21 additions and 1 deletions

View File

@@ -2700,6 +2700,7 @@ test_override({expr}, {val}) none test with Vim internal overrides
test_refcount({expr}) Number get the reference count of {expr} test_refcount({expr}) Number get the reference count of {expr}
test_scrollbar({which}, {value}, {dragging}) test_scrollbar({which}, {value}, {dragging})
none scroll in the GUI for testing none scroll in the GUI for testing
test_setmouse({row}, {col}) none set the mouse position for testing
test_settime({expr}) none set current time for testing test_settime({expr}) none set current time for testing
timer_info([{id}]) List information about timers timer_info([{id}]) List information about timers
timer_pause({id}, {pause}) none pause or unpause a timer timer_pause({id}, {pause}) none pause or unpause a timer
@@ -9841,6 +9842,13 @@ test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
Only works when the {which} scrollbar actually exists, Only works when the {which} scrollbar actually exists,
obviously only when using the GUI. obviously only when using the GUI.
test_setmouse({row}, {col}) *test_setmouse()*
Set the mouse position to be used for the next mouse action.
{row} and {col} are one based.
For example: >
call test_setmouse(4, 20)
call feedkeys("\<LeftMouse>", "xt")
test_settime({expr}) *test_settime()* test_settime({expr}) *test_settime()*
Set the time Vim uses internally. Currently only used for Set the time Vim uses internally. Currently only used for
timestamps in the history, as they are used in viminfo, and timestamps in the history, as they are used in viminfo, and

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.1. Last change: 2019 Apr 06 *usr_41.txt* For Vim version 8.1. Last change: 2019 May 04
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -955,6 +955,7 @@ Testing: *test-functions*
test_null_partial() return a null Partial function test_null_partial() return a null Partial function
test_null_string() return a null String test_null_string() return a null String
test_settime() set the time Vim uses internally test_settime() set the time Vim uses internally
test_setmouse() set the mouse position
test_feedinput() add key sequence to input buffer test_feedinput() add key sequence to input buffer
test_option_not_set() reset flag indicating option was set test_option_not_set() reset flag indicating option was set
test_scrollbar() simulate scrollbar movement in the GUI test_scrollbar() simulate scrollbar movement in the GUI

View File

@@ -456,6 +456,7 @@ static void f_test_null_string(typval_T *argvars, typval_T *rettv);
#ifdef FEAT_GUI #ifdef FEAT_GUI
static void f_test_scrollbar(typval_T *argvars, typval_T *rettv); static void f_test_scrollbar(typval_T *argvars, typval_T *rettv);
#endif #endif
static void f_test_setmouse(typval_T *argvars, typval_T *rettv);
static void f_test_settime(typval_T *argvars, typval_T *rettv); static void f_test_settime(typval_T *argvars, typval_T *rettv);
#ifdef FEAT_FLOAT #ifdef FEAT_FLOAT
static void f_tan(typval_T *argvars, typval_T *rettv); static void f_tan(typval_T *argvars, typval_T *rettv);
@@ -993,6 +994,7 @@ static struct fst
#ifdef FEAT_GUI #ifdef FEAT_GUI
{"test_scrollbar", 3, 3, f_test_scrollbar}, {"test_scrollbar", 3, 3, f_test_scrollbar},
#endif #endif
{"test_setmouse", 2, 2, f_test_setmouse},
{"test_settime", 1, 1, f_test_settime}, {"test_settime", 1, 1, f_test_settime},
#ifdef FEAT_TIMERS #ifdef FEAT_TIMERS
{"timer_info", 0, 1, f_timer_info}, {"timer_info", 0, 1, f_timer_info},
@@ -14493,6 +14495,13 @@ f_test_scrollbar(typval_T *argvars, typval_T *rettv UNUSED)
} }
#endif #endif
static void
f_test_setmouse(typval_T *argvars, typval_T *rettv UNUSED)
{
mouse_row = (time_t)tv_get_number(&argvars[0]) - 1;
mouse_col = (time_t)tv_get_number(&argvars[1]) - 1;
}
static void static void
f_test_settime(typval_T *argvars, typval_T *rettv UNUSED) f_test_settime(typval_T *argvars, typval_T *rettv UNUSED)
{ {

View File

@@ -767,6 +767,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1262,
/**/ /**/
1261, 1261,
/**/ /**/