@@ -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 },
@@ -12326,12 +12326,34 @@ f_test_autochdir(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
1232612326}
1232712327
1232812328/*
12329- * "test_disable_char_avail({expr })" function
12329+ * "test_disable({name}, {val })" function
1233012330 */
1233112331 static void
12332- f_test_disable_char_avail (typval_T * argvars , typval_T * rettv UNUSED )
12332+ f_test_override (typval_T * argvars , typval_T * rettv UNUSED )
1233312333{
12334- disable_char_avail_for_testing = (int )get_tv_number (& argvars [0 ]);
12334+ char_u * name = (char_u * )"" ;
12335+ int val ;
12336+
12337+ if (argvars [0 ].v_type != VAR_STRING
12338+ || (argvars [1 ].v_type ) != VAR_NUMBER )
12339+ EMSG (_ (e_invarg ));
12340+ else
12341+ {
12342+ name = get_tv_string_chk (& argvars [0 ]);
12343+ val = (int )get_tv_number (& argvars [1 ]);
12344+
12345+ if (STRCMP (name , (char_u * )"redraw" ) == 0 )
12346+ disable_redraw_for_testing = val ;
12347+ else if (STRCMP (name , (char_u * )"char_avail" ) == 0 )
12348+ disable_char_avail_for_testing = val ;
12349+ else if (STRCMP (name , (char_u * )"ALL" ) == 0 )
12350+ {
12351+ disable_char_avail_for_testing = FALSE;
12352+ disable_redraw_for_testing = FALSE;
12353+ }
12354+ else
12355+ EMSG2 (_ (e_invarg2 ), name );
12356+ }
1233512357}
1233612358
1233712359/*
0 commit comments