# HG changeset patch # User Bram Moolenaar # Date 1593536404 -7200 # Node ID f6eb0c468ae4ae1373f25dd6819e7aad3cf32351 # Parent be4aa55f87a6e0bf7d3f51f644fc881ce38d5c2f patch 8.2.1097: highlight code not sufficiently tested Commit: https://github.com/vim/vim/commit/de8f0f47f653ff10bd8cc12b3e0817ed5bdf64ea Author: Bram Moolenaar Date: Tue Jun 30 18:45:43 2020 +0200 patch 8.2.1097: highlight code not sufficiently tested Problem: Highlight code not sufficiently tested. Solution: Add a few more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/6359) diff --git a/src/testdir/test_filter_cmd.vim b/src/testdir/test_filter_cmd.vim --- a/src/testdir/test_filter_cmd.vim +++ b/src/testdir/test_filter_cmd.vim @@ -146,6 +146,11 @@ func Test_filter_commands() let res = split(execute("filter /\.c$/ marks"), "\n")[1:] call assert_equal([" A 1 0 file.c"], res) + " Test filtering :highlight command + highlight MyHlGroup ctermfg=10 + let res = split(execute("filter /MyHlGroup/ highlight"), "\n") + call assert_equal(["MyHlGroup xxx ctermfg=10"], res) + call setline(1, ['one', 'two', 'three']) 1mark a 2mark b diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim --- a/src/testdir/test_highlight.vim +++ b/src/testdir/test_highlight.vim @@ -761,4 +761,47 @@ func Test_highlight_RGB_color() hi clear endfunc +" Test for using default highlighting group +func Test_highlight_default() + highlight MySearch ctermfg=7 + highlight default MySearch ctermfg=5 + let hlSearch = HighlightArgs('MySearch') + call assert_match('ctermfg=7', hlSearch) + + highlight default QFName ctermfg=3 + call assert_match('ctermfg=3', HighlightArgs('QFName')) + hi clear +endfunc + +" Test for 'ctermul in a highlight group +func Test_highlight_ctermul() + CheckNotGui + call assert_notmatch('ctermul=', HighlightArgs('Normal')) + highlight Normal ctermul=3 + call assert_match('ctermul=3', HighlightArgs('Normal')) + highlight Normal ctermul=NONE +endfunc + +" Test for specifying 'start' and 'stop' in a highlight group +func Test_highlight_start_stop() + hi HlGrp1 start=[27h;[r; + call assert_match("start=^[[27h;^[[ r;", HighlightArgs('HlGrp1')) + hi HlGrp1 start=NONE + call assert_notmatch("start=", HighlightArgs('HlGrp1')) + hi HlGrp2 stop=[27h;[r; + call assert_match("stop=^[[27h;^[[ r;", HighlightArgs('HlGrp2')) + hi HlGrp2 stop=NONE + call assert_notmatch("stop=", HighlightArgs('HlGrp2')) + hi clear +endfunc + +" Test for setting various 'term' attributes +func Test_highlight_term_attr() + hi HlGrp3 term=bold,underline,undercurl,strikethrough,reverse,italic,standout + call assert_equal('hi HlGrp3 term=bold,standout,underline,undercurl,italic,reverse,strikethrough', HighlightArgs('HlGrp3')) + hi HlGrp3 term=NONE + call assert_equal('hi HlGrp3 cleared', HighlightArgs('HlGrp3')) + hi clear +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1097, +/**/ 1096, /**/ 1095,