Mercurial > vim
view src/message_test.c @ 11285:0b4adcfb7b25 v8.0.0528
patch 8.0.0528: highlight wrong text when 'wim' includes "longest"
commit https://github.com/vim/vim/commit/ef8eb0897819099fb00d675afb9bffe1d008c45e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Mar 30 22:04:55 2017 +0200
patch 8.0.0528: highlight wrong text when 'wim' includes "longest"
Problem: When 'wildmenu' is set and 'wildmode' has "longest" then the first
file name is highlighted, even though the text shows the longest
match.
Solution: Do not highlight the first match. (LemonBoy, closes #1602)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 30 Mar 2017 22:15:04 +0200 |
parents | 4aead6a9b7a9 |
children | b254fd46ef62 |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4 noet: * * VIM - Vi IMproved by Bram Moolenaar * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. * See README.txt for an overview of the Vim source code. */ /* * message_test.c: Unittests for message.c */ #undef NDEBUG #include <assert.h> /* Must include main.c because it contains much more than just main() */ #define NO_VIM_MAIN #include "main.c" /* This file has to be included because some of the tested functions are * static. */ #include "message.c" /* * Test trunc_string(). */ static void test_trunc_string(void) { char_u *buf; /*allocated every time to find uninit errors */ char_u *s; /* in place */ buf = alloc(40); STRCPY(buf, "text"); trunc_string(buf, buf, 20, 40); assert(STRCMP(buf, "text") == 0); vim_free(buf); buf = alloc(40); STRCPY(buf, "a short text"); trunc_string(buf, buf, 20, 40); assert(STRCMP(buf, "a short text") == 0); vim_free(buf); buf = alloc(40); STRCPY(buf, "a text tha just fits"); trunc_string(buf, buf, 20, 40); assert(STRCMP(buf, "a text tha just fits") == 0); vim_free(buf); buf = alloc(40); STRCPY(buf, "a text that nott fits"); trunc_string(buf, buf, 20, 40); assert(STRCMP(buf, "a text t...nott fits") == 0); vim_free(buf); /* copy from string to buf */ buf = alloc(40); s = vim_strsave((char_u *)"text"); trunc_string(s, buf, 20, 40); assert(STRCMP(buf, "text") == 0); vim_free(buf); vim_free(s); buf = alloc(40); s = vim_strsave((char_u *)"a text that fits"); trunc_string(s, buf, 34, 40); assert(STRCMP(buf, "a text that fits") == 0); vim_free(buf); vim_free(s); buf = alloc(40); s = vim_strsave((char_u *)"a short text"); trunc_string(s, buf, 20, 40); assert(STRCMP(buf, "a short text") == 0); vim_free(buf); vim_free(s); buf = alloc(40); s = vim_strsave((char_u *)"a text tha just fits"); trunc_string(s, buf, 20, 40); assert(STRCMP(buf, "a text tha just fits") == 0); vim_free(buf); vim_free(s); buf = alloc(40); s = vim_strsave((char_u *)"a text that nott fits"); trunc_string(s, buf, 20, 40); assert(STRCMP(buf, "a text t...nott fits") == 0); vim_free(buf); vim_free(s); } int main(int argc, char **argv) { mparm_T params; vim_memset(¶ms, 0, sizeof(params)); params.argc = argc; params.argv = argv; common_init(¶ms); init_chartab(); test_trunc_string(); return 0; }