view src/testdir/test_highlight.vim @ 12568:440d934bd616 v8.0.1162

patch 8.0.1162: shared script for tests cannot be included twice commit https://github.com/vim/vim/commit/660b85e39a48a9f2e3bd7e4d8b97d0a1b4842997 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 30 14:26:58 2017 +0200 patch 8.0.1162: shared script for tests cannot be included twice Problem: Shared script for tests cannot be included twice. Solution: Include it where needed, it will "finish" if loaded again.
author Christian Brabandt <cb@256bit.org>
date Sat, 30 Sep 2017 14:30: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