1
0
forked from aniani/vim

patch 8.0.0616: not always setting 'background' correctly after :hi Normal

Problem:    When setting the cterm background with ":hi Normal" the value of
            'background' may be set wrongly.
Solution:   Check that the color is less than 16.  Don't set 'background' when
            it was set explicitly. (Lemonboy, closes #1710)
This commit is contained in:
Bram Moolenaar
2017-06-04 21:06:09 +02:00
parent bf15b8d78b
commit 1615b36b91
3 changed files with 38 additions and 6 deletions

View File

@@ -401,3 +401,26 @@ func Test_highlight_invalid_arg()
call assert_fails('hi XXX xxx=White', 'E423:')
endfunc
func Test_bg_detection()
if has('gui_running')
return
endif
" auto-detection of &bg, make sure sure it isn't set anywhere before
" this test
hi Normal ctermbg=0
call assert_equal('dark', &bg)
hi Normal ctermbg=4
call assert_equal('dark', &bg)
hi Normal ctermbg=12
call assert_equal('light', &bg)
hi Normal ctermbg=15
call assert_equal('light', &bg)
" manually-set &bg takes precendence over auto-detection
set bg=light
hi Normal ctermbg=4
call assert_equal('light', &bg)
set bg=dark
hi Normal ctermbg=12
call assert_equal('dark', &bg)
endfunc