test: check vim.wait() error message in fast context (#26242)

This commit is contained in:
zeertzjq
2023-11-27 18:24:32 +08:00
committed by GitHub
parent 2c16c6a6c4
commit a03bd2b878

View File

@@ -11,6 +11,7 @@ local insert = helpers.insert
local clear = helpers.clear local clear = helpers.clear
local eq = helpers.eq local eq = helpers.eq
local ok = helpers.ok local ok = helpers.ok
local pesc = helpers.pesc
local eval = helpers.eval local eval = helpers.eval
local feed = helpers.feed local feed = helpers.feed
local pcall_err = helpers.pcall_err local pcall_err = helpers.pcall_err
@@ -2771,15 +2772,19 @@ describe('lua stdlib', function()
end) end)
it('should not run in fast callbacks #26122', function() it('should not run in fast callbacks #26122', function()
local screen = Screen.new(80, 10)
screen:attach()
exec_lua([[ exec_lua([[
vim.uv.new_timer():start(0, 100, function() local timer = vim.uv.new_timer()
local count = 0 timer:start(0, 0, function()
vim.wait(100, function() timer:close()
count = count + 1 vim.wait(100, function() end)
return count == 10
end, 100)
end) end)
]]) ]])
screen:expect({
any = pesc('E5560: vim.wait must not be called in a lua loop callback'),
})
feed('<CR>')
assert_alive() assert_alive()
end) end)
end) end)