@@ -390,7 +390,7 @@ static void f_tagfiles(typval_T *argvars, typval_T *rettv);
390390static void f_tempname (typval_T * argvars , typval_T * rettv );
391391static void f_test_alloc_fail (typval_T * argvars , typval_T * rettv );
392392static void f_test_autochdir (typval_T * argvars , typval_T * rettv );
393- static void f_test_disable_char_avail (typval_T * argvars , typval_T * rettv );
393+ static void f_test_override (typval_T * argvars , typval_T * rettv );
394394static void f_test_garbagecollect_now (typval_T * argvars , typval_T * rettv );
395395static void f_test_ignore_error (typval_T * argvars , typval_T * rettv );
396396#ifdef FEAT_JOB_CHANNEL
@@ -828,7 +828,6 @@ static struct fst
828828 {"tempname" , 0 , 0 , f_tempname },
829829 {"test_alloc_fail" , 3 , 3 , f_test_alloc_fail },
830830 {"test_autochdir" , 0 , 0 , f_test_autochdir },
831- {"test_disable_char_avail" , 1 , 1 , f_test_disable_char_avail },
832831 {"test_garbagecollect_now" , 0 , 0 , f_test_garbagecollect_now },
833832 {"test_ignore_error" , 1 , 1 , f_test_ignore_error },
834833#ifdef FEAT_JOB_CHANNEL
@@ -841,6 +840,7 @@ static struct fst
841840 {"test_null_list" , 0 , 0 , f_test_null_list },
842841 {"test_null_partial" , 0 , 0 , f_test_null_partial },
843842 {"test_null_string" , 0 , 0 , f_test_null_string },
843+ {"test_override" , 2 , 2 , f_test_override },
844844 {"test_settime" , 1 , 1 , f_test_settime },
845845#ifdef FEAT_TIMERS
846846 {"timer_info" , 0 , 1 , f_timer_info },
@@ -12353,12 +12353,34 @@ f_test_autochdir(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
1235312353}
1235412354
1235512355/*
12356- * "test_disable_char_avail({expr })" function
12356+ * "test_disable({name}, {val })" function
1235712357 */
1235812358 static void
12359- f_test_disable_char_avail (typval_T * argvars , typval_T * rettv UNUSED )
12359+ f_test_override (typval_T * argvars , typval_T * rettv UNUSED )
1236012360{
12361- disable_char_avail_for_testing = (int )get_tv_number (& argvars [0 ]);
12361+ char_u * name = (char_u * )"" ;
12362+ int val ;
12363+
12364+ if (argvars [0 ].v_type != VAR_STRING
12365+ || (argvars [1 ].v_type ) != VAR_NUMBER )
12366+ EMSG (_ (e_invarg ));
12367+ else
12368+ {
12369+ name = get_tv_string_chk (& argvars [0 ]);
12370+ val = (int )get_tv_number (& argvars [1 ]);
12371+
12372+ if (STRCMP (name , (char_u * )"redraw" ) == 0 )
12373+ disable_redraw_for_testing = val ;
12374+ else if (STRCMP (name , (char_u * )"char_avail" ) == 0 )
12375+ disable_char_avail_for_testing = val ;
12376+ else if (STRCMP (name , (char_u * )"ALL" ) == 0 )
12377+ {
12378+ disable_char_avail_for_testing = FALSE;
12379+ disable_redraw_for_testing = FALSE;
12380+ }
12381+ else
12382+ EMSG2 (_ (e_invarg2 ), name );
12383+ }
1236212384}
1236312385
1236412386/*
0 commit comments