changeset 21091:f6eb0c468ae4 v8.2.1097

patch 8.2.1097: highlight code not sufficiently tested Commit: https://github.com/vim/vim/commit/de8f0f47f653ff10bd8cc12b3e0817ed5bdf64ea Author: Bram Moolenaar <Bram@vim.org> 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)
author Bram Moolenaar <Bram@vim.org>
date Tue, 30 Jun 2020 19:00:04 +0200
parents be4aa55f87a6
children f49405905ef6
files src/testdir/test_filter_cmd.vim src/testdir/test_highlight.vim src/version.c
diffstat 3 files changed, 50 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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=<Esc>[27h;<Esc>[<Space>r;
+  call assert_match("start=^[[27h;^[[ r;", HighlightArgs('HlGrp1'))
+  hi HlGrp1 start=NONE
+  call assert_notmatch("start=", HighlightArgs('HlGrp1'))
+  hi HlGrp2 stop=<Esc>[27h;<Esc>[<Space>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
--- 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,