mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 03:48:18 +00:00

Problem: Cannot skip tests for specific MS-Windows platform.
Solution: Add windowsversion().
0c1e3744ff
38 lines
1.3 KiB
Lua
38 lines
1.3 KiB
Lua
local helpers = require('test.functional.helpers')(after_each)
|
|
|
|
local clear = helpers.clear
|
|
local eq = helpers.eq
|
|
local matches = helpers.matches
|
|
local exc_exec = helpers.exc_exec
|
|
local iswin = helpers.iswin
|
|
local eval = helpers.eval
|
|
|
|
describe('Up to MAX_FUNC_ARGS arguments are handled by', function()
|
|
local max_func_args = 20 -- from eval.h
|
|
local range = helpers.funcs.range
|
|
|
|
before_each(clear)
|
|
|
|
it('printf()', function()
|
|
local printf = helpers.funcs.printf
|
|
local rep = helpers.funcs['repeat']
|
|
local expected = '2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,'
|
|
eq(expected, printf(rep('%d,', max_func_args-1), unpack(range(2, max_func_args))))
|
|
local ret = exc_exec('call printf("", 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)')
|
|
eq('Vim(call):E740: Too many arguments for function printf', ret)
|
|
end)
|
|
|
|
it('rpcnotify()', function()
|
|
local rpcnotify = helpers.funcs.rpcnotify
|
|
local ret = rpcnotify(0, 'foo', unpack(range(3, max_func_args)))
|
|
eq(1, ret)
|
|
ret = exc_exec('call rpcnotify(0, "foo", 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)')
|
|
eq('Vim(call):E740: Too many arguments for function rpcnotify', ret)
|
|
end)
|
|
end)
|
|
|
|
it('windowsversion()', function()
|
|
clear()
|
|
matches(iswin() and '^%d+%.%d+$' or '^$', eval('windowsversion()'))
|
|
end)
|