mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local Screen = require('test.functional.ui.screen')
 | |
| local helpers = require('test.functional.helpers')(after_each)
 | |
| local eq, command = helpers.eq, helpers.command
 | |
| local clear = helpers.clear
 | |
| local eval, exc_exec = helpers.eval, helpers.exc_exec
 | |
| local exec = helpers.exec
 | |
| local fn = helpers.fn
 | |
| local api = helpers.api
 | |
| 
 | |
| describe(':highlight', function()
 | |
|   local screen
 | |
| 
 | |
|   before_each(function()
 | |
|     clear()
 | |
|     screen = Screen.new()
 | |
|     screen:attach()
 | |
|   end)
 | |
| 
 | |
|   it('invalid color name', function()
 | |
|     eq(
 | |
|       'Vim(highlight):E421: Color name or number not recognized: ctermfg=#181818',
 | |
|       exc_exec('highlight normal ctermfg=#181818')
 | |
|     )
 | |
|     eq(
 | |
|       'Vim(highlight):E421: Color name or number not recognized: ctermbg=#181818',
 | |
|       exc_exec('highlight normal ctermbg=#181818')
 | |
|     )
 | |
|   end)
 | |
| 
 | |
|   it('invalid group name', function()
 | |
|     eq('Vim(highlight):E411: Highlight group not found: foo', exc_exec('highlight foo'))
 | |
|   end)
 | |
| 
 | |
|   it('"Normal" foreground with red', function()
 | |
|     eq('', eval('synIDattr(hlID("Normal"), "fg", "cterm")'))
 | |
|     command('highlight normal ctermfg=red')
 | |
|     eq('9', eval('synIDattr(hlID("Normal"), "fg", "cterm")'))
 | |
|   end)
 | |
| 
 | |
|   it('"Normal" background with red', function()
 | |
|     eq('', eval('synIDattr(hlID("Normal"), "bg", "cterm")'))
 | |
|     command('highlight normal ctermbg=red')
 | |
|     eq('9', eval('synIDattr(hlID("Normal"), "bg", "cterm")'))
 | |
|   end)
 | |
| 
 | |
|   it('only the last underline style takes effect #22371', function()
 | |
|     command('highlight NonText gui=underline,undercurl')
 | |
|     eq('', eval('synIDattr(hlID("NonText"), "underline", "gui")'))
 | |
|     eq('1', eval('synIDattr(hlID("NonText"), "undercurl", "gui")'))
 | |
|     command('highlight NonText gui=undercurl,underline')
 | |
|     eq('', eval('synIDattr(hlID("NonText"), "undercurl", "gui")'))
 | |
|     eq('1', eval('synIDattr(hlID("NonText"), "underline", "gui")'))
 | |
|   end)
 | |
| 
 | |
|   it('clear', function()
 | |
|     api.nvim_set_var('colors_name', 'foo')
 | |
|     eq(1, fn.exists('g:colors_name'))
 | |
|     command('hi clear')
 | |
|     eq(0, fn.exists('g:colors_name'))
 | |
|     api.nvim_set_var('colors_name', 'foo')
 | |
|     eq(1, fn.exists('g:colors_name'))
 | |
|     exec([[
 | |
|       func HiClear()
 | |
|         hi clear
 | |
|       endfunc
 | |
|     ]])
 | |
|     fn.HiClear()
 | |
|     eq(0, fn.exists('g:colors_name'))
 | |
|   end)
 | |
| end)
 | 
