Mercurial > vim
view src/testdir/test_highlight.vim @ 12387:1ecdbc207c1e v8.0.1073
patch 8.0.1073: may get an endless loop if 'statusline' changes a highlight
commit https://github.com/vim/vim/commit/ba2929b6afd2fc20479912a8dec789be26a38244
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Sep 8 13:59:21 2017 +0200
patch 8.0.1073: may get an endless loop if 'statusline' changes a highlight
Problem: May get an endless loop if 'statusline' changes a highlight.
Solution: Do not let evaluating 'statusline' trigger a redraw.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 08 Sep 2017 14:00:05 +0200 |
parents | 7d7835ab8b37 |
children | ba55861aa52c |
line wrap: on
line source
" Tests for ":highlight". func Test_highlight() " basic test if ":highlight" doesn't crash highlight hi Search " test setting colors. " test clearing one color and all doesn't generate error or warning silent! hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#00ff00 guibg=Cyan silent! hi Group2 term= cterm= hi Group3 term=underline cterm=bold let res = split(execute("hi NewGroup"), "\n")[0] " filter ctermfg and ctermbg, the numbers depend on the terminal let res = substitute(res, 'ctermfg=\d*', 'ctermfg=2', '') let res = substitute(res, 'ctermbg=\d*', 'ctermbg=3', '') call assert_equal("NewGroup xxx term=bold cterm=italic ctermfg=2 ctermbg=3", \ res) call assert_equal("Group2 xxx cleared", \ split(execute("hi Group2"), "\n")[0]) call assert_equal("Group3 xxx term=underline cterm=bold", \ split(execute("hi Group3"), "\n")[0]) hi clear NewGroup call assert_equal("NewGroup xxx cleared", \ split(execute("hi NewGroup"), "\n")[0]) call assert_equal("Group2 xxx cleared", \ split(execute("hi Group2"), "\n")[0]) hi Group2 NONE call assert_equal("Group2 xxx cleared", \ split(execute("hi Group2"), "\n")[0]) hi clear call assert_equal("Group3 xxx cleared", \ split(execute("hi Group3"), "\n")[0]) call assert_fails("hi Crash term='asdf", "E475:") endfunc