mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.1.0460: assert_fails() does not take a message argument
Problem: assert_fails() does not take a message argument Solution: Add the argument.
This commit is contained in:
@@ -9041,6 +9041,8 @@ assert_fails(typval_T *argvars)
|
|||||||
char_u *cmd = get_tv_string_chk(&argvars[0]);
|
char_u *cmd = get_tv_string_chk(&argvars[0]);
|
||||||
garray_T ga;
|
garray_T ga;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
char_u numbuf[NUMBUFLEN];
|
||||||
|
char_u *tofree;
|
||||||
|
|
||||||
called_emsg = FALSE;
|
called_emsg = FALSE;
|
||||||
suppress_errthrow = TRUE;
|
suppress_errthrow = TRUE;
|
||||||
@@ -9050,6 +9052,13 @@ assert_fails(typval_T *argvars)
|
|||||||
{
|
{
|
||||||
prepare_assert_error(&ga);
|
prepare_assert_error(&ga);
|
||||||
ga_concat(&ga, (char_u *)"command did not fail: ");
|
ga_concat(&ga, (char_u *)"command did not fail: ");
|
||||||
|
if (argvars[1].v_type != VAR_UNKNOWN
|
||||||
|
&& argvars[2].v_type != VAR_UNKNOWN)
|
||||||
|
{
|
||||||
|
ga_concat(&ga, echo_string(&argvars[2], &tofree, numbuf, 0));
|
||||||
|
vim_free(tofree);
|
||||||
|
}
|
||||||
|
else
|
||||||
ga_concat(&ga, cmd);
|
ga_concat(&ga, cmd);
|
||||||
assert_error(&ga);
|
assert_error(&ga);
|
||||||
ga_clear(&ga);
|
ga_clear(&ga);
|
||||||
|
@@ -512,7 +512,7 @@ static struct fst
|
|||||||
{"assert_equal", 2, 3, f_assert_equal},
|
{"assert_equal", 2, 3, f_assert_equal},
|
||||||
{"assert_equalfile", 2, 2, f_assert_equalfile},
|
{"assert_equalfile", 2, 2, f_assert_equalfile},
|
||||||
{"assert_exception", 1, 2, f_assert_exception},
|
{"assert_exception", 1, 2, f_assert_exception},
|
||||||
{"assert_fails", 1, 2, f_assert_fails},
|
{"assert_fails", 1, 3, f_assert_fails},
|
||||||
{"assert_false", 1, 2, f_assert_false},
|
{"assert_false", 1, 2, f_assert_false},
|
||||||
{"assert_inrange", 3, 4, f_assert_inrange},
|
{"assert_inrange", 3, 4, f_assert_inrange},
|
||||||
{"assert_match", 2, 3, f_assert_match},
|
{"assert_match", 2, 3, f_assert_match},
|
||||||
@@ -1507,7 +1507,7 @@ f_assert_exception(typval_T *argvars, typval_T *rettv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "assert_fails(cmd [, error])" function
|
* "assert_fails(cmd [, error[, msg]])" function
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
f_assert_fails(typval_T *argvars, typval_T *rettv)
|
f_assert_fails(typval_T *argvars, typval_T *rettv)
|
||||||
|
@@ -152,6 +152,14 @@ func Test_assert_fail_fails()
|
|||||||
call assert_equal(1, assert_fails('xxx', {}))
|
call assert_equal(1, assert_fails('xxx', {}))
|
||||||
call assert_match("Expected {} but got 'E731:", v:errors[0])
|
call assert_match("Expected {} but got 'E731:", v:errors[0])
|
||||||
call remove(v:errors, 0)
|
call remove(v:errors, 0)
|
||||||
|
|
||||||
|
call assert_equal(1, assert_fails('xxx', {}, 'stupid'))
|
||||||
|
call assert_match("stupid: Expected {} but got 'E731:", v:errors[0])
|
||||||
|
call remove(v:errors, 0)
|
||||||
|
|
||||||
|
call assert_equal(1, assert_fails('echo', '', 'echo command'))
|
||||||
|
call assert_match("command did not fail: echo command", v:errors[0])
|
||||||
|
call remove(v:errors, 0)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_assert_beeps()
|
func Test_assert_beeps()
|
||||||
|
@@ -792,6 +792,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 */
|
||||||
|
/**/
|
||||||
|
460,
|
||||||
/**/
|
/**/
|
||||||
459,
|
459,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user