mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	Problem: Whether an option is allowed to be empty isn't well defined and isn't properly checked. Solution: - For non-list string options, explicitly check the option value if it is empty. - Annotate non-list string options that can accept an empty value. - Adjust command completion to ignore the empty value. - Render values in Lua meta files
		
			
				
	
	
		
			28 lines
		
	
	
		
			634 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			634 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
local t = require('test.unit.testutil')
 | 
						|
local itp = t.gen_itp(it)
 | 
						|
 | 
						|
local to_cstr = t.to_cstr
 | 
						|
local eq = t.eq
 | 
						|
 | 
						|
local optionstr = t.cimport('./src/nvim/optionstr.h')
 | 
						|
 | 
						|
local check_ff_value = function(ff)
 | 
						|
  return optionstr.check_ff_value(to_cstr(ff))
 | 
						|
end
 | 
						|
 | 
						|
describe('check_ff_value', function()
 | 
						|
  itp('views empty string as invalid', function()
 | 
						|
    eq(0, check_ff_value(''))
 | 
						|
  end)
 | 
						|
 | 
						|
  itp('views "unix", "dos" and "mac" as valid', function()
 | 
						|
    eq(1, check_ff_value('unix'))
 | 
						|
    eq(1, check_ff_value('dos'))
 | 
						|
    eq(1, check_ff_value('mac'))
 | 
						|
  end)
 | 
						|
 | 
						|
  itp('views "foo" as invalid', function()
 | 
						|
    eq(0, check_ff_value('foo'))
 | 
						|
  end)
 | 
						|
end)
 |