0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 7.4.2095

Problem:    Man test fails when run with the GUI.
Solution:   Adjust for different behavior of GUI.  Add assert_inrange().
This commit is contained in:
Bram Moolenaar
2016-07-23 15:35:35 +02:00
parent 4658228262
commit 61c04493b0
7 changed files with 86 additions and 15 deletions

View File

@@ -8992,6 +8992,39 @@ assert_match_common(typval_T *argvars, assert_type_T atype)
}
}
void
assert_inrange(typval_T *argvars)
{
garray_T ga;
int error = FALSE;
varnumber_T lower = get_tv_number_chk(&argvars[0], &error);
varnumber_T upper = get_tv_number_chk(&argvars[1], &error);
varnumber_T actual = get_tv_number_chk(&argvars[2], &error);
char_u *tofree;
char msg[200];
char_u numbuf[NUMBUFLEN];
if (error)
return;
if (actual < lower || actual > upper)
{
prepare_assert_error(&ga);
if (argvars[3].v_type != VAR_UNKNOWN)
{
ga_concat(&ga, tv2string(&argvars[3], &tofree, numbuf, 0));
vim_free(tofree);
}
else
{
vim_snprintf(msg, 200, "Expected range %ld - %ld, but got %ld",
(long)lower, (long)upper, (long)actual);
ga_concat(&ga, (char_u *)msg);
}
assert_error(&ga);
ga_clear(&ga);
}
}
/*
* Common for assert_true() and assert_false().
*/