mirror of
https://github.com/neovim/neovim.git
synced 2025-12-10 08:32:42 +00:00
test: support upvalues in exec_lua
This commit is contained in:
committed by
Lewis Russell
parent
a19e89022d
commit
e5c174421d
@@ -31,10 +31,10 @@ describe('vim.highlight.range', function()
|
||||
end)
|
||||
|
||||
it('works with charwise selection', function()
|
||||
exec_lua([[
|
||||
exec_lua(function()
|
||||
local ns = vim.api.nvim_create_namespace('')
|
||||
vim.highlight.range(0, ns, 'Search', { 1, 5 }, { 3, 10 })
|
||||
]])
|
||||
end)
|
||||
screen:expect([[
|
||||
^asdfghjkl{1:$} |
|
||||
«口{10:=口»}{100:$} |
|
||||
@@ -46,10 +46,10 @@ describe('vim.highlight.range', function()
|
||||
end)
|
||||
|
||||
it('works with linewise selection', function()
|
||||
exec_lua([[
|
||||
exec_lua(function()
|
||||
local ns = vim.api.nvim_create_namespace('')
|
||||
vim.highlight.range(0, ns, 'Search', { 0, 0 }, { 4, 0 }, { regtype = 'V' })
|
||||
]])
|
||||
end)
|
||||
screen:expect([[
|
||||
{10:^asdfghjkl}{100:$} |
|
||||
{10:«口=口»}{100:$} |
|
||||
@@ -61,10 +61,10 @@ describe('vim.highlight.range', function()
|
||||
end)
|
||||
|
||||
it('works with blockwise selection', function()
|
||||
exec_lua([[
|
||||
exec_lua(function()
|
||||
local ns = vim.api.nvim_create_namespace('')
|
||||
vim.highlight.range(0, ns, 'Search', { 0, 0 }, { 4, 4 }, { regtype = '\022' })
|
||||
]])
|
||||
end)
|
||||
screen:expect([[
|
||||
{10:^asdf}ghjkl{1:$} |
|
||||
{10:«口=}口»{1:$} |
|
||||
@@ -76,10 +76,10 @@ describe('vim.highlight.range', function()
|
||||
end)
|
||||
|
||||
it('works with blockwise selection with width', function()
|
||||
exec_lua([[
|
||||
exec_lua(function()
|
||||
local ns = vim.api.nvim_create_namespace('')
|
||||
vim.highlight.range(0, ns, 'Search', { 0, 4 }, { 4, 7 }, { regtype = '\0226' })
|
||||
]])
|
||||
end)
|
||||
screen:expect([[
|
||||
^asdf{10:ghjkl}{1:$} |
|
||||
«口={10:口»}{1:$} |
|
||||
@@ -91,11 +91,11 @@ describe('vim.highlight.range', function()
|
||||
end)
|
||||
|
||||
it('can use -1 or v:maxcol to indicate end of line', function()
|
||||
exec_lua([[
|
||||
exec_lua(function()
|
||||
local ns = vim.api.nvim_create_namespace('')
|
||||
vim.highlight.range(0, ns, 'Search', { 0, 4 }, { 1, -1 }, {})
|
||||
vim.highlight.range(0, ns, 'Search', { 2, 6 }, { 3, vim.v.maxcol }, {})
|
||||
]])
|
||||
end)
|
||||
screen:expect([[
|
||||
^asdf{10:ghjkl}{100:$} |
|
||||
{10:«口=口»}{100:$} |
|
||||
@@ -114,33 +114,37 @@ describe('vim.highlight.on_yank', function()
|
||||
|
||||
it('does not show errors even if buffer is wiped before timeout', function()
|
||||
command('new')
|
||||
exec_lua([[
|
||||
vim.highlight.on_yank({timeout = 10, on_macro = true, event = {operator = "y", regtype = "v"}})
|
||||
exec_lua(function()
|
||||
vim.highlight.on_yank({
|
||||
timeout = 10,
|
||||
on_macro = true,
|
||||
event = { operator = 'y', regtype = 'v' },
|
||||
})
|
||||
vim.cmd('bwipeout!')
|
||||
]])
|
||||
end)
|
||||
vim.uv.sleep(10)
|
||||
n.feed('<cr>') -- avoid hang if error message exists
|
||||
eq('', eval('v:errmsg'))
|
||||
end)
|
||||
|
||||
it('does not close timer twice', function()
|
||||
exec_lua([[
|
||||
vim.highlight.on_yank({timeout = 10, on_macro = true, event = {operator = "y"}})
|
||||
exec_lua(function()
|
||||
vim.highlight.on_yank({ timeout = 10, on_macro = true, event = { operator = 'y' } })
|
||||
vim.uv.sleep(10)
|
||||
vim.schedule(function()
|
||||
vim.highlight.on_yank({timeout = 0, on_macro = true, event = {operator = "y"}})
|
||||
vim.highlight.on_yank({ timeout = 0, on_macro = true, event = { operator = 'y' } })
|
||||
end)
|
||||
]])
|
||||
end)
|
||||
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"}})
|
||||
]])
|
||||
exec_lua(function()
|
||||
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' } })
|
||||
end)
|
||||
local ns = api.nvim_create_namespace('hlyank')
|
||||
local win = api.nvim_get_current_win()
|
||||
eq({ win }, api.nvim__ns_get(ns).wins)
|
||||
@@ -150,19 +154,19 @@ describe('vim.highlight.on_yank', function()
|
||||
|
||||
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"}})
|
||||
]])
|
||||
exec_lua(function()
|
||||
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' } })
|
||||
end)
|
||||
local ns = api.nvim_create_namespace('hlyank')
|
||||
eq(api.nvim_get_current_win(), api.nvim__ns_get(ns).wins[1])
|
||||
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"}})
|
||||
]])
|
||||
exec_lua(function()
|
||||
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' } })
|
||||
end)
|
||||
local win = api.nvim_get_current_win()
|
||||
eq({ win }, api.nvim__ns_get(ns).wins)
|
||||
command('wincmd w')
|
||||
|
||||
Reference in New Issue
Block a user