aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/highlight_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/lua/highlight_spec.lua')
-rw-r--r--test/functional/lua/highlight_spec.lua34
1 files changed, 33 insertions, 1 deletions
diff --git a/test/functional/lua/highlight_spec.lua b/test/functional/lua/highlight_spec.lua
index 8e499f1e79..197f3139f3 100644
--- a/test/functional/lua/highlight_spec.lua
+++ b/test/functional/lua/highlight_spec.lua
@@ -1,9 +1,11 @@
local helpers = require('test.functional.helpers')(after_each)
local exec_lua = helpers.exec_lua
local eq = helpers.eq
+local neq = helpers.neq
local eval = helpers.eval
local command = helpers.command
local clear = helpers.clear
+local api = helpers.api
describe('vim.highlight.on_yank', function()
before_each(function()
@@ -16,7 +18,7 @@ describe('vim.highlight.on_yank', function()
vim.highlight.on_yank({timeout = 10, on_macro = true, event = {operator = "y", regtype = "v"}})
vim.cmd('bwipeout!')
]])
- helpers.sleep(10)
+ vim.uv.sleep(10)
helpers.feed('<cr>') -- avoid hang if error message exists
eq('', eval('v:errmsg'))
end)
@@ -31,4 +33,34 @@ describe('vim.highlight.on_yank', function()
]])
eq('', eval('v:errmsg'))
end)
+
+ it('does not show in another window', function()
+ command('vsplit')
+ exec_lua([[
+ vim.api.nvim_buf_set_mark(0,"[",1,1,{})
+ vim.api.nvim_buf_set_mark(0,"]",1,1,{})
+ vim.highlight.on_yank({timeout = math.huge, on_macro = true, event = {operator = "y"}})
+ ]])
+ neq({}, api.nvim_win_get_ns(0))
+ command('wincmd w')
+ eq({}, api.nvim_win_get_ns(0))
+ end)
+
+ it('removes old highlight if new one is created before old one times out', function()
+ command('vnew')
+ exec_lua([[
+ vim.api.nvim_buf_set_mark(0,"[",1,1,{})
+ vim.api.nvim_buf_set_mark(0,"]",1,1,{})
+ vim.highlight.on_yank({timeout = math.huge, on_macro = true, event = {operator = "y"}})
+ ]])
+ neq({}, api.nvim_win_get_ns(0))
+ command('wincmd w')
+ exec_lua([[
+ vim.api.nvim_buf_set_mark(0,"[",1,1,{})
+ vim.api.nvim_buf_set_mark(0,"]",1,1,{})
+ vim.highlight.on_yank({timeout = math.huge, on_macro = true, event = {operator = "y"}})
+ ]])
+ command('wincmd w')
+ eq({}, api.nvim_win_get_ns(0))
+ end)
end)