mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 9.1.0391: Vim9: could improve testing
Problem: Vim9: could improve testing (Ernie Rael) Solution: Support defcompile for test_override() to improve testing (Yegappan Lakshmanan) fixes: #14553 closes: #14712 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
c8330b8fff
commit
5715a72628
@@ -1,4 +1,4 @@
|
|||||||
*testing.txt* For Vim version 9.1. Last change: 2024 Apr 07
|
*testing.txt* For Vim version 9.1. Last change: 2024 May 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -369,6 +369,9 @@ test_override({name}, {val}) *test_override()*
|
|||||||
autoload `import autoload` will load the script right
|
autoload `import autoload` will load the script right
|
||||||
away, not postponed until an item is used
|
away, not postponed until an item is used
|
||||||
char_avail disable the char_avail() function
|
char_avail disable the char_avail() function
|
||||||
|
defcompile all the |:def| functions in a sourced script are
|
||||||
|
compiled when defined. This is similar to using
|
||||||
|
the |:defcompile| command in a script.
|
||||||
nfa_fail makes the NFA regexp engine fail to force a
|
nfa_fail makes the NFA regexp engine fail to force a
|
||||||
fallback to the old engine
|
fallback to the old engine
|
||||||
no_query_mouse do not query the mouse position for "dec"
|
no_query_mouse do not query the mouse position for "dec"
|
||||||
|
@@ -1936,6 +1936,7 @@ EXTERN int reset_term_props_on_termresponse INIT(= FALSE);
|
|||||||
EXTERN int disable_vterm_title_for_testing INIT(= FALSE);
|
EXTERN int disable_vterm_title_for_testing INIT(= FALSE);
|
||||||
EXTERN long override_sysinfo_uptime INIT(= -1);
|
EXTERN long override_sysinfo_uptime INIT(= -1);
|
||||||
EXTERN int override_autoload INIT(= FALSE);
|
EXTERN int override_autoload INIT(= FALSE);
|
||||||
|
EXTERN int override_defcompile INIT(= FALSE);
|
||||||
EXTERN int ml_get_alloc_lines INIT(= FALSE);
|
EXTERN int ml_get_alloc_lines INIT(= FALSE);
|
||||||
EXTERN int ignore_unreachable_code_for_testing INIT(= FALSE);
|
EXTERN int ignore_unreachable_code_for_testing INIT(= FALSE);
|
||||||
|
|
||||||
|
@@ -4633,6 +4633,19 @@ def Run_Test_keytyped_in_nested_function()
|
|||||||
g:StopVimInTerminal(buf)
|
g:StopVimInTerminal(buf)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
" Test for test_override('defcompile')
|
||||||
|
def Test_test_override_defcompile()
|
||||||
|
var lines =<< trim END
|
||||||
|
vim9script
|
||||||
|
def Foo()
|
||||||
|
xxx
|
||||||
|
enddef
|
||||||
|
END
|
||||||
|
test_override('defcompile', 1)
|
||||||
|
v9.CheckScriptFailure(lines, 'E476: Invalid command: xxx')
|
||||||
|
test_override('defcompile', 0)
|
||||||
|
enddef
|
||||||
|
|
||||||
" The following messes up syntax highlight, keep near the end.
|
" The following messes up syntax highlight, keep near the end.
|
||||||
if has('python3')
|
if has('python3')
|
||||||
def Test_python3_command()
|
def Test_python3_command()
|
||||||
|
@@ -1051,6 +1051,8 @@ f_test_override(typval_T *argvars, typval_T *rettv UNUSED)
|
|||||||
ml_get_alloc_lines = val;
|
ml_get_alloc_lines = val;
|
||||||
else if (STRCMP(name, (char_u *)"autoload") == 0)
|
else if (STRCMP(name, (char_u *)"autoload") == 0)
|
||||||
override_autoload = val;
|
override_autoload = val;
|
||||||
|
else if (STRCMP(name, (char_u *)"defcompile") == 0)
|
||||||
|
override_defcompile = val;
|
||||||
else if (STRCMP(name, (char_u *)"ALL") == 0)
|
else if (STRCMP(name, (char_u *)"ALL") == 0)
|
||||||
{
|
{
|
||||||
disable_char_avail_for_testing = FALSE;
|
disable_char_avail_for_testing = FALSE;
|
||||||
|
@@ -5452,6 +5452,10 @@ define_function(
|
|||||||
// :func does not use Vim9 script syntax, even in a Vim9 script file
|
// :func does not use Vim9 script syntax, even in a Vim9 script file
|
||||||
fp->uf_script_ctx.sc_version = SCRIPT_VERSION_MAX;
|
fp->uf_script_ctx.sc_version = SCRIPT_VERSION_MAX;
|
||||||
|
|
||||||
|
// If test_override('defcompile' 1) is used, then compile the function now
|
||||||
|
if (eap->cmdidx == CMD_def && override_defcompile)
|
||||||
|
defcompile_function(fp, NULL);
|
||||||
|
|
||||||
goto ret_free;
|
goto ret_free;
|
||||||
|
|
||||||
erret:
|
erret:
|
||||||
|
@@ -704,6 +704,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 */
|
||||||
|
/**/
|
||||||
|
391,
|
||||||
/**/
|
/**/
|
||||||
390,
|
390,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user