1" Test syntax highlighting functions.
2
3func Test_missing_attr()
4  hi Mine term=bold cterm=italic
5  call assert_equal('Mine', synIDattr(hlID("Mine"), "name"))
6  call assert_equal('', synIDattr(hlID("Mine"), "bg", 'term'))
7  call assert_equal('1', synIDattr(hlID("Mine"), "bold", 'term'))
8  call assert_equal('1', synIDattr(hlID("Mine"), "italic", 'cterm'))
9  hi Mine term=reverse cterm=inverse
10  call assert_equal('1', synIDattr(hlID("Mine"), "reverse", 'term'))
11  call assert_equal('1', synIDattr(hlID("Mine"), "inverse", 'cterm'))
12  hi Mine term=underline cterm=standout gui=undercurl
13  call assert_equal('1', synIDattr(hlID("Mine"), "underline", 'term'))
14  call assert_equal('1', synIDattr(hlID("Mine"), "standout", 'cterm'))
15  call assert_equal('1', synIDattr(hlID("Mine"), "undercurl", 'gui'))
16  hi Mine term=NONE cterm=NONE gui=NONE
17  call assert_equal('', synIDattr(hlID("Mine"), "bold", 'term'))
18  call assert_equal('', synIDattr(hlID("Mine"), "italic", 'cterm'))
19  call assert_equal('', synIDattr(hlID("Mine"), "reverse", 'term'))
20  call assert_equal('', synIDattr(hlID("Mine"), "inverse", 'cterm'))
21  call assert_equal('', synIDattr(hlID("Mine"), "underline", 'term'))
22  call assert_equal('', synIDattr(hlID("Mine"), "standout", 'cterm'))
23  call assert_equal('', synIDattr(hlID("Mine"), "undercurl", 'gui'))
24
25  if has('gui')
26    let fontname = getfontname()
27    if fontname == ''
28      let fontname = 'something'
29    endif
30    exe 'hi Mine guifg=blue guibg=red font=' . escape(fontname, ' \')
31    call assert_equal('blue', synIDattr(hlID("Mine"), "fg", 'gui'))
32    call assert_equal('red', synIDattr(hlID("Mine"), "bg", 'gui'))
33    call assert_equal(fontname, synIDattr(hlID("Mine"), "font", 'gui'))
34  endif
35endfunc
36