Files
neovim/test/functional/lua/highlight_spec.lua
notomo f7002337c0 backport: fix(lua): verify buffer in highlight.on_yank (#15482)
Resolve an issue with deferred clearing of highlight failing if the
buffer is deleted before the timeout by checking whether the
buffer is valid first.
2021-09-16 14:46:27 +01:00

27 lines
812 B
Lua

local helpers = require('test.functional.helpers')(after_each)
local funcs = helpers.funcs
local exec_lua = helpers.exec_lua
local command = helpers.command
local clear = helpers.clear
describe('vim.highlight.on_yank', function()
before_each(function()
clear()
end)
it('does not show errors even if buffer is wiped before timeout', function()
command('new')
local bufnr = funcs.bufnr("%")
exec_lua[[
vim.highlight.on_yank({timeout = 10, on_macro = true, event = {operator = "y", regtype = "v"}})
vim.cmd('bwipeout!')
]]
exec_lua[[vim.wait(10)]]
local pattern = [[vim/highlight.lua:%d+: Invalid buffer id: ]] .. bufnr
local exists = pcall(helpers.assert_log, pattern)
assert.is_false(exists, string.format("%q should not be in log", pattern))
end)
end)