test: use integers for API Buffer/Window/Tabpage EXT types

This commit is contained in:
Lewis Russell
2024-01-16 13:26:21 +00:00
committed by Lewis Russell
parent 91dc04a5e1
commit 8f02ae82e2
25 changed files with 622 additions and 651 deletions

View File

@@ -1,22 +1,5 @@
local mpack = vim.mpack local mpack = vim.mpack
-- temporary hack to be able to manipulate buffer/window/tabpage
local Buffer = {}
Buffer.__index = Buffer
function Buffer.new(id)
return setmetatable({ id = id }, Buffer)
end
local Window = {}
Window.__index = Window
function Window.new(id)
return setmetatable({ id = id }, Window)
end
local Tabpage = {}
Tabpage.__index = Tabpage
function Tabpage.new(id)
return setmetatable({ id = id }, Tabpage)
end
local Response = {} local Response = {}
Response.__index = Response Response.__index = Response
@@ -45,30 +28,21 @@ MsgpackRpcStream.__index = MsgpackRpcStream
function MsgpackRpcStream.new(stream) function MsgpackRpcStream.new(stream)
return setmetatable({ return setmetatable({
_stream = stream, _stream = stream,
_pack = mpack.Packer({ _pack = mpack.Packer(),
ext = {
[Buffer] = function(o)
return 0, mpack.encode(o.id)
end,
[Window] = function(o)
return 1, mpack.encode(o.id)
end,
[Tabpage] = function(o)
return 2, mpack.encode(o.id)
end,
},
}),
_session = mpack.Session({ _session = mpack.Session({
unpack = mpack.Unpacker({ unpack = mpack.Unpacker({
ext = { ext = {
-- Buffer
[0] = function(_c, s) [0] = function(_c, s)
return Buffer.new(mpack.decode(s)) return mpack.decode(s)
end, end,
-- Window
[1] = function(_c, s) [1] = function(_c, s)
return Window.new(mpack.decode(s)) return mpack.decode(s)
end, end,
-- Tabpage
[2] = function(_c, s) [2] = function(_c, s)
return Tabpage.new(mpack.decode(s)) return mpack.decode(s)
end, end,
}, },
}), }),

View File

@@ -733,7 +733,7 @@ describe('api/buf', function()
end) end)
it('set_lines on unloaded buffer #8659 #22670', function() it('set_lines on unloaded buffer #8659 #22670', function()
local bufnr = api.nvim_get_current_buf().id local bufnr = api.nvim_get_current_buf()
lua_or_rpc.nvim_buf_set_lines(bufnr, 0, -1, false, { 'a', 'b', 'c' }) lua_or_rpc.nvim_buf_set_lines(bufnr, 0, -1, false, { 'a', 'b', 'c' })
lua_or_rpc.nvim_buf_set_name(bufnr, 'set_lines') lua_or_rpc.nvim_buf_set_name(bufnr, 'set_lines')
finally(function() finally(function()
@@ -2101,7 +2101,7 @@ describe('api/buf', function()
api.nvim_buf_set_lines(0, -1, -1, true, { 'a', 'bit of', 'text' }) api.nvim_buf_set_lines(0, -1, -1, true, { 'a', 'bit of', 'text' })
eq(true, api.nvim_buf_set_mark(0, 'Z', 3, 2, {})) eq(true, api.nvim_buf_set_mark(0, 'Z', 3, 2, {}))
eq({ 3, 2 }, api.nvim_buf_get_mark(0, 'Z')) eq({ 3, 2 }, api.nvim_buf_get_mark(0, 'Z'))
eq({ api.nvim_get_current_buf().id, 3, 3, 0 }, fn.getpos("'Z")) eq({ api.nvim_get_current_buf(), 3, 3, 0 }, fn.getpos("'Z"))
end) end)
it('fails when invalid marks names are used', function() it('fails when invalid marks names are used', function()
eq(false, pcall(api.nvim_buf_set_mark, 0, '!', 1, 0, {})) eq(false, pcall(api.nvim_buf_set_mark, 0, '!', 1, 0, {}))

View File

@@ -820,7 +820,7 @@ describe('API: buffer events:', function()
[1] = 'notification', [1] = 'notification',
[2] = 'nvim_buf_changedtick_event', [2] = 'nvim_buf_changedtick_event',
[3] = { [3] = {
[1] = { id = 1 }, [1] = 1,
[2] = 2, [2] = 2,
}, },
}, next_msg()) }, next_msg())

View File

@@ -1895,7 +1895,7 @@ describe('API/win_extmark', function()
extmarks = { extmarks = {
[2] = { [2] = {
-- positioned at the end of the 2nd line -- positioned at the end of the 2nd line
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
}, },
}, },
}) })
@@ -1921,27 +1921,27 @@ describe('API/win_extmark', function()
extmarks = { extmarks = {
[2] = { [2] = {
-- notification from 1st call -- notification from 1st call
{ { id = 1000 }, ns, marks[1], 1, 0 }, { 1000, ns, marks[1], 1, 0 },
-- notifications from 2nd call -- notifications from 2nd call
{ { id = 1000 }, ns, marks[1], 1, 0 }, { 1000, ns, marks[1], 1, 0 },
{ { id = 1000 }, ns, marks[2], 1, 2 }, { 1000, ns, marks[2], 1, 2 },
-- notifications from 3rd call -- notifications from 3rd call
{ { id = 1000 }, ns, marks[1], 1, 0 }, { 1000, ns, marks[1], 1, 0 },
{ { id = 1000 }, ns, marks[2], 1, 2 }, { 1000, ns, marks[2], 1, 2 },
{ { id = 1000 }, ns, marks[3], 1, 4 }, { 1000, ns, marks[3], 1, 4 },
-- notifications from 4th call -- notifications from 4th call
{ { id = 1000 }, ns, marks[1], 1, 0 }, { 1000, ns, marks[1], 1, 0 },
{ { id = 1000 }, ns, marks[2], 1, 2 }, { 1000, ns, marks[2], 1, 2 },
{ { id = 1000 }, ns, marks[3], 1, 4 }, { 1000, ns, marks[3], 1, 4 },
{ { id = 1000 }, ns, marks[4], 1, 6 }, { 1000, ns, marks[4], 1, 6 },
-- final -- final
-- overlay -- overlay
{ { id = 1000 }, ns, marks[1], 1, 0 }, { 1000, ns, marks[1], 1, 0 },
{ { id = 1000 }, ns, marks[2], 1, 2 }, { 1000, ns, marks[2], 1, 2 },
{ { id = 1000 }, ns, marks[3], 1, 4 }, { 1000, ns, marks[3], 1, 4 },
{ { id = 1000 }, ns, marks[4], 1, 6 }, { 1000, ns, marks[4], 1, 6 },
-- eol -- eol
{ { id = 1000 }, ns, marks[5], 2, 11 }, { 1000, ns, marks[5], 2, 11 },
}, },
}, },
}) })
@@ -1966,9 +1966,9 @@ describe('API/win_extmark', function()
extmarks = { extmarks = {
[2] = { [2] = {
-- positioned at the end of the 2nd line -- positioned at the end of the 2nd line
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
-- updated and wrapped to 3rd line -- updated and wrapped to 3rd line
{ { id = 1000 }, ns, marks[1], 2, 2 }, { 1000, ns, marks[1], 2, 2 },
}, },
}, },
}) })
@@ -1983,9 +1983,9 @@ describe('API/win_extmark', function()
extmarks = { extmarks = {
[2] = { [2] = {
-- positioned at the end of the 2nd line -- positioned at the end of the 2nd line
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
-- updated and wrapped to 3rd line -- updated and wrapped to 3rd line
{ { id = 1000 }, ns, marks[1], 2, 2 }, { 1000, ns, marks[1], 2, 2 },
-- scrolled up one line, should be handled by grid scroll -- scrolled up one line, should be handled by grid scroll
}, },
}, },
@@ -2021,13 +2021,13 @@ describe('API/win_extmark', function()
extmarks = { extmarks = {
[2] = { [2] = {
-- positioned at the end of the 2nd line -- positioned at the end of the 2nd line
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
-- updated after split -- updated after split
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
}, },
[4] = { [4] = {
-- only after split -- only after split
{ { id = 1001 }, ns, marks[1], 1, 16 }, { 1001, ns, marks[1], 1, 16 },
}, },
}, },
}) })
@@ -2054,14 +2054,14 @@ describe('API/win_extmark', function()
extmarks = { extmarks = {
[2] = { [2] = {
-- positioned at the end of the 2nd line -- positioned at the end of the 2nd line
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
-- updated after split -- updated after split
{ { id = 1000 }, ns, marks[1], 1, 16 }, { 1000, ns, marks[1], 1, 16 },
}, },
[4] = { [4] = {
{ { id = 1001 }, ns, marks[1], 1, 16 }, { 1001, ns, marks[1], 1, 16 },
-- updated -- updated
{ { id = 1001 }, ns, marks[1], 2, 2 }, { 1001, ns, marks[1], 2, 2 },
}, },
}, },
}) })

View File

@@ -1697,19 +1697,20 @@ describe('API', function()
it('get buffer or window-local options', function() it('get buffer or window-local options', function()
command('new') command('new')
local buf = api.nvim_get_current_buf().id local buf = api.nvim_get_current_buf()
api.nvim_set_option_value('tagfunc', 'foobar', { buf = buf }) api.nvim_set_option_value('tagfunc', 'foobar', { buf = buf })
eq('foobar', api.nvim_get_option_value('tagfunc', { buf = buf })) eq('foobar', api.nvim_get_option_value('tagfunc', { buf = buf }))
local win = api.nvim_get_current_win().id local win = api.nvim_get_current_win()
api.nvim_set_option_value('number', true, { win = win }) api.nvim_set_option_value('number', true, { win = win })
eq(true, api.nvim_get_option_value('number', { win = win })) eq(true, api.nvim_get_option_value('number', { win = win }))
end) end)
it('getting current buffer option does not adjust cursor #19381', function() it('getting current buffer option does not adjust cursor #19381', function()
command('new') command('new')
local buf = api.nvim_get_current_buf().id local buf = api.nvim_get_current_buf()
local win = api.nvim_get_current_win().id print(vim.inspect(api.nvim_get_current_buf()))
local win = api.nvim_get_current_win()
insert('some text') insert('some text')
feed('0v$') feed('0v$')
eq({ 1, 9 }, api.nvim_win_get_cursor(win)) eq({ 1, 9 }, api.nvim_win_get_cursor(win))
@@ -2503,7 +2504,7 @@ describe('API', function()
it('stream=job :terminal channel', function() it('stream=job :terminal channel', function()
command(':terminal') command(':terminal')
eq({ id = 1 }, api.nvim_get_current_buf()) eq(1, api.nvim_get_current_buf())
eq(3, api.nvim_get_option_value('channel', { buf = 1 })) eq(3, api.nvim_get_option_value('channel', { buf = 1 }))
local info = { local info = {
@@ -2520,7 +2521,7 @@ describe('API', function()
neq(nil, string.match(info.pty, '^/dev/')) neq(nil, string.match(info.pty, '^/dev/'))
end end
eq({ info = info }, event) eq({ info = info }, event)
info.buffer = { id = 1 } info.buffer = 1
eq({ [1] = testinfo, [2] = stderr, [3] = info }, api.nvim_list_chans()) eq({ [1] = testinfo, [2] = stderr, [3] = info }, api.nvim_list_chans())
eq(info, api.nvim_get_chan_info(3)) eq(info, api.nvim_get_chan_info(3))
@@ -2989,15 +2990,15 @@ describe('API', function()
describe('nvim_create_buf', function() describe('nvim_create_buf', function()
it('works', function() it('works', function()
eq({ id = 2 }, api.nvim_create_buf(true, false)) eq(2, api.nvim_create_buf(true, false))
eq({ id = 3 }, api.nvim_create_buf(false, false)) eq(3, api.nvim_create_buf(false, false))
eq( eq(
' 1 %a "[No Name]" line 1\n' ' 1 %a "[No Name]" line 1\n'
.. ' 2 h "[No Name]" line 0', .. ' 2 h "[No Name]" line 0',
command_output('ls') command_output('ls')
) )
-- current buffer didn't change -- current buffer didn't change
eq({ id = 1 }, api.nvim_get_current_buf()) eq(1, api.nvim_get_current_buf())
local screen = Screen.new(20, 4) local screen = Screen.new(20, 4)
screen:attach() screen:attach()
@@ -3017,21 +3018,21 @@ describe('API', function()
it('can change buftype before visiting', function() it('can change buftype before visiting', function()
api.nvim_set_option_value('hidden', false, {}) api.nvim_set_option_value('hidden', false, {})
eq({ id = 2 }, api.nvim_create_buf(true, false)) eq(2, api.nvim_create_buf(true, false))
api.nvim_set_option_value('buftype', 'nofile', { buf = 2 }) api.nvim_set_option_value('buftype', 'nofile', { buf = 2 })
api.nvim_buf_set_lines(2, 0, -1, true, { 'test text' }) api.nvim_buf_set_lines(2, 0, -1, true, { 'test text' })
command('split | buffer 2') command('split | buffer 2')
eq({ id = 2 }, api.nvim_get_current_buf()) eq(2, api.nvim_get_current_buf())
-- if the buf_set_option("buftype") didn't work, this would error out. -- if the buf_set_option("buftype") didn't work, this would error out.
command('close') command('close')
eq({ id = 1 }, api.nvim_get_current_buf()) eq(1, api.nvim_get_current_buf())
end) end)
it('does not trigger BufEnter, BufWinEnter', function() it('does not trigger BufEnter, BufWinEnter', function()
command('let g:fired = v:false') command('let g:fired = v:false')
command('au BufEnter,BufWinEnter * let g:fired = v:true') command('au BufEnter,BufWinEnter * let g:fired = v:true')
eq({ id = 2 }, api.nvim_create_buf(true, false)) eq(2, api.nvim_create_buf(true, false))
api.nvim_buf_set_lines(2, 0, -1, true, { 'test', 'text' }) api.nvim_buf_set_lines(2, 0, -1, true, { 'test', 'text' })
eq(false, eval('g:fired')) eq(false, eval('g:fired'))
@@ -3050,9 +3051,9 @@ describe('API', function()
end) end)
it('scratch-buffer', function() it('scratch-buffer', function()
eq({ id = 2 }, api.nvim_create_buf(false, true)) eq(2, api.nvim_create_buf(false, true))
eq({ id = 3 }, api.nvim_create_buf(true, true)) eq(3, api.nvim_create_buf(true, true))
eq({ id = 4 }, api.nvim_create_buf(true, true)) eq(4, api.nvim_create_buf(true, true))
local scratch_bufs = { 2, 3, 4 } local scratch_bufs = { 2, 3, 4 }
eq( eq(
' 1 %a "[No Name]" line 1\n' ' 1 %a "[No Name]" line 1\n'
@@ -3061,7 +3062,7 @@ describe('API', function()
exec_capture('ls') exec_capture('ls')
) )
-- current buffer didn't change -- current buffer didn't change
eq({ id = 1 }, api.nvim_get_current_buf()) eq(1, api.nvim_get_current_buf())
local screen = Screen.new(20, 4) local screen = Screen.new(20, 4)
screen:set_default_attr_ids({ screen:set_default_attr_ids({
@@ -3295,13 +3296,13 @@ describe('API', function()
bufs = api.nvim_list_bufs() bufs = api.nvim_list_bufs()
wins = api.nvim_list_wins() wins = api.nvim_list_wins()
api.nvim_win_set_buf(wins[1].id, bufs[1].id) api.nvim_win_set_buf(wins[1], bufs[1])
api.nvim_win_set_buf(wins[2].id, bufs[2].id) api.nvim_win_set_buf(wins[2], bufs[2])
api.nvim_set_current_win(wins[2].id) api.nvim_set_current_win(wins[2])
api.nvim_exec('source ' .. fname, false) api.nvim_exec('source ' .. fname, false)
api.nvim_set_current_win(wins[1].id) api.nvim_set_current_win(wins[1])
end) end)
after_each(function() after_each(function()
@@ -3343,7 +3344,7 @@ describe('API', function()
for _, t in pairs(tests) do for _, t in pairs(tests) do
it(t.desc, function() it(t.desc, function()
-- Switch to the target buffer/window so that curbuf/curwin are used. -- Switch to the target buffer/window so that curbuf/curwin are used.
api.nvim_set_current_win(wins[2].id) api.nvim_set_current_win(wins[2])
local info = api.nvim_get_option_info2(unpack(t.args)) local info = api.nvim_get_option_info2(unpack(t.args))
eq(t.linenr, info.last_set_linenr) eq(t.linenr, info.last_set_linenr)
eq(t.sid, info.last_set_sid) eq(t.sid, info.last_set_sid)
@@ -3351,13 +3352,13 @@ describe('API', function()
end end
it('is provided for cross-buffer requests', function() it('is provided for cross-buffer requests', function()
local info = api.nvim_get_option_info2('formatprg', { buf = bufs[2].id }) local info = api.nvim_get_option_info2('formatprg', { buf = bufs[2] })
eq(2, info.last_set_linenr) eq(2, info.last_set_linenr)
eq(1, info.last_set_sid) eq(1, info.last_set_sid)
end) end)
it('is provided for cross-window requests', function() it('is provided for cross-window requests', function()
local info = api.nvim_get_option_info2('listchars', { win = wins[2].id }) local info = api.nvim_get_option_info2('listchars', { win = wins[2] })
eq(6, info.last_set_linenr) eq(6, info.last_set_linenr)
eq(1, info.last_set_sid) eq(1, info.last_set_sid)
end) end)
@@ -3597,7 +3598,7 @@ describe('API', function()
local mark = api.nvim_get_mark('F', {}) local mark = api.nvim_get_mark('F', {})
-- Compare the path tail only -- Compare the path tail only
assert(string.find(mark[4], 'mybuf$')) assert(string.find(mark[4], 'mybuf$'))
eq({ 2, 2, buf.id, mark[4] }, mark) eq({ 2, 2, buf, mark[4] }, mark)
end) end)
it('validation', function() it('validation', function()
eq("Invalid mark name (must be file/uppercase): 'f'", pcall_err(api.nvim_get_mark, 'f', {})) eq("Invalid mark name (must be file/uppercase): 'f'", pcall_err(api.nvim_get_mark, 'f', {}))
@@ -3619,7 +3620,7 @@ describe('API', function()
api.nvim_buf_set_mark(buf, 'F', 2, 2, {}) api.nvim_buf_set_mark(buf, 'F', 2, 2, {})
command('new') -- Create new buf to avoid :bd failing command('new') -- Create new buf to avoid :bd failing
command('bd! ' .. buf.id) command('bd! ' .. buf)
os.remove(fname) os.remove(fname)
local mark = api.nvim_get_mark('F', {}) local mark = api.nvim_get_mark('F', {})
@@ -3628,7 +3629,7 @@ describe('API', function()
local tail_patt = [[[\/][^\/]*$]] local tail_patt = [[[\/][^\/]*$]]
-- tail of paths should be equals -- tail of paths should be equals
eq(fname:match(tail_patt), mfname:match(tail_patt)) eq(fname:match(tail_patt), mfname:match(tail_patt))
eq({ 2, 2, buf.id, mark[4] }, mark) eq({ 2, 2, buf, mark[4] }, mark)
end) end)
end) end)
describe('nvim_eval_statusline', function() describe('nvim_eval_statusline', function()
@@ -3743,7 +3744,7 @@ describe('API', function()
}, },
api.nvim_eval_statusline( api.nvim_eval_statusline(
'TextWithNoHighlight%#WarningMsg#TextWithWarningHighlight', 'TextWithNoHighlight%#WarningMsg#TextWithWarningHighlight',
{ winid = api.nvim_list_wins()[2].id, highlights = true } { winid = api.nvim_list_wins()[2], highlights = true }
) )
) )
end) end)
@@ -4824,7 +4825,7 @@ describe('API', function()
it('works', function() it('works', function()
command('vsplit | enew') command('vsplit | enew')
api.nvim_cmd({ cmd = 'bdelete', args = { api.nvim_get_current_buf() } }, {}) api.nvim_cmd({ cmd = 'bdelete', args = { api.nvim_get_current_buf() } }, {})
eq(1, api.nvim_get_current_buf().id) eq(1, api.nvim_get_current_buf())
end) end)
it('works with :sleep using milliseconds', function() it('works with :sleep using milliseconds', function()
local start = uv.now() local start = uv.now()

View File

@@ -428,11 +428,11 @@ describe('API/win', function()
command('tabnew') command('tabnew')
local tab1 = unpack(api.nvim_list_tabpages()) local tab1 = unpack(api.nvim_list_tabpages())
local win1 = unpack(api.nvim_tabpage_list_wins(tab1)) local win1 = unpack(api.nvim_tabpage_list_wins(tab1))
api.nvim_set_option_value('statusline', 'window-status', { win = win1.id }) api.nvim_set_option_value('statusline', 'window-status', { win = win1 })
command('split') command('split')
command('wincmd J') command('wincmd J')
command('wincmd j') command('wincmd j')
eq('window-status', api.nvim_get_option_value('statusline', { win = win1.id })) eq('window-status', api.nvim_get_option_value('statusline', { win = win1 }))
assert_alive() assert_alive()
end) end)
@@ -575,7 +575,7 @@ describe('API/win', function()
it('closing current (float) window of another tabpage #15313', function() it('closing current (float) window of another tabpage #15313', function()
command('tabedit') command('tabedit')
command('botright split') command('botright split')
local prevwin = curwin().id local prevwin = curwin()
eq(2, eval('tabpagenr()')) eq(2, eval('tabpagenr()'))
local win = api.nvim_open_win(0, true, { local win = api.nvim_open_win(0, true, {
relative = 'editor', relative = 'editor',
@@ -589,7 +589,7 @@ describe('API/win', function()
eq(1, eval('tabpagenr()')) eq(1, eval('tabpagenr()'))
api.nvim_win_close(win, false) api.nvim_win_close(win, false)
eq(prevwin, api.nvim_tabpage_get_win(tab).id) eq(prevwin, api.nvim_tabpage_get_win(tab))
assert_alive() assert_alive()
end) end)
end) end)
@@ -627,7 +627,7 @@ describe('API/win', function()
it('deletes the buffer when bufhidden=wipe', function() it('deletes the buffer when bufhidden=wipe', function()
local oldwin = api.nvim_get_current_win() local oldwin = api.nvim_get_current_win()
local oldbuf = api.nvim_get_current_buf() local oldbuf = api.nvim_get_current_buf()
local buf = api.nvim_create_buf(true, false).id local buf = api.nvim_create_buf(true, false)
local newwin = api.nvim_open_win(buf, true, { local newwin = api.nvim_open_win(buf, true, {
relative = 'win', relative = 'win',
row = 3, row = 3,

View File

@@ -45,7 +45,7 @@ describe('WinScrolled', function()
local win_id local win_id
before_each(function() before_each(function()
win_id = api.nvim_get_current_win().id win_id = api.nvim_get_current_win()
command(string.format('autocmd WinScrolled %d let g:matched = v:true', win_id)) command(string.format('autocmd WinScrolled %d let g:matched = v:true', win_id))
exec([[ exec([[
let g:scrolled = 0 let g:scrolled = 0
@@ -313,7 +313,7 @@ describe('WinScrolled', function()
style = 'minimal', style = 'minimal',
}) })
screen:expect({ any = '@' }) screen:expect({ any = '@' })
local winid_str = tostring(win.id) local winid_str = tostring(win)
-- WinScrolled should not be triggered when creating a new floating window -- WinScrolled should not be triggered when creating a new floating window
eq(0, eval('g:scrolled')) eq(0, eval('g:scrolled'))
@@ -327,7 +327,7 @@ describe('WinScrolled', function()
api.nvim_input_mouse('wheel', 'up', '', 0, 3, 3) api.nvim_input_mouse('wheel', 'up', '', 0, 3, 3)
eq(2, eval('g:scrolled')) eq(2, eval('g:scrolled'))
eq(tostring(win.id), eval('g:amatch')) eq(tostring(win), eval('g:amatch'))
eq({ eq({
all = { leftcol = 0, topline = 3, topfill = 0, width = 0, height = 0, skipcol = 0 }, all = { leftcol = 0, topline = 3, topfill = 0, width = 0, height = 0, skipcol = 0 },
[winid_str] = { leftcol = 0, topline = -3, topfill = 0, width = 0, height = 0, skipcol = 0 }, [winid_str] = { leftcol = 0, topline = -3, topfill = 0, width = 0, height = 0, skipcol = 0 },

View File

@@ -104,7 +104,7 @@ describe('named marks', function()
feed('mA') feed('mA')
command('next') command('next')
feed("'A") feed("'A")
eq(1, api.nvim_get_current_buf().id) eq(1, api.nvim_get_current_buf())
eq({ 2, 0 }, cursor()) eq({ 2, 0 }, cursor())
end) end)
@@ -117,7 +117,7 @@ describe('named marks', function()
feed('mA') feed('mA')
command('next') command('next')
feed('`A') feed('`A')
eq(1, api.nvim_get_current_buf().id) eq(1, api.nvim_get_current_buf())
eq({ 2, 2 }, cursor()) eq({ 2, 2 }, cursor())
end) end)
@@ -130,7 +130,7 @@ describe('named marks', function()
feed('mA') feed('mA')
command('next') command('next')
feed("g'A") feed("g'A")
eq(1, api.nvim_get_current_buf().id) eq(1, api.nvim_get_current_buf())
eq({ 2, 0 }, cursor()) eq({ 2, 0 }, cursor())
end) end)
@@ -143,7 +143,7 @@ describe('named marks', function()
feed('mA') feed('mA')
command('next') command('next')
feed('g`A') feed('g`A')
eq(1, api.nvim_get_current_buf().id) eq(1, api.nvim_get_current_buf())
eq({ 2, 2 }, cursor()) eq({ 2, 2 }, cursor())
end) end)
@@ -157,7 +157,7 @@ describe('named marks', function()
feed('mA') feed('mA')
command('next') command('next')
command("'A") command("'A")
eq(1, api.nvim_get_current_buf().id) eq(1, api.nvim_get_current_buf())
eq({ 2, 0 }, cursor()) eq({ 2, 0 }, cursor())
end) end)

View File

@@ -76,25 +76,25 @@ describe('tabpage', function()
it('nvim_win_close and nvim_win_hide update tabline #20285', function() it('nvim_win_close and nvim_win_hide update tabline #20285', function()
eq(1, #api.nvim_list_tabpages()) eq(1, #api.nvim_list_tabpages())
eq({ 1, 1 }, fn.win_screenpos(0)) eq({ 1, 1 }, fn.win_screenpos(0))
local win1 = curwin().id local win1 = curwin()
command('tabnew') command('tabnew')
eq(2, #api.nvim_list_tabpages()) eq(2, #api.nvim_list_tabpages())
eq({ 2, 1 }, fn.win_screenpos(0)) eq({ 2, 1 }, fn.win_screenpos(0))
local win2 = curwin().id local win2 = curwin()
api.nvim_win_close(win1, true) api.nvim_win_close(win1, true)
eq(win2, curwin().id) eq(win2, curwin())
eq(1, #api.nvim_list_tabpages()) eq(1, #api.nvim_list_tabpages())
eq({ 1, 1 }, fn.win_screenpos(0)) eq({ 1, 1 }, fn.win_screenpos(0))
command('tabnew') command('tabnew')
eq(2, #api.nvim_list_tabpages()) eq(2, #api.nvim_list_tabpages())
eq({ 2, 1 }, fn.win_screenpos(0)) eq({ 2, 1 }, fn.win_screenpos(0))
local win3 = curwin().id local win3 = curwin()
api.nvim_win_hide(win2) api.nvim_win_hide(win2)
eq(win3, curwin().id) eq(win3, curwin())
eq(1, #api.nvim_list_tabpages()) eq(1, #api.nvim_list_tabpages())
eq({ 1, 1 }, fn.win_screenpos(0)) eq({ 1, 1 }, fn.win_screenpos(0))
end) end)

View File

@@ -62,10 +62,10 @@ describe('example', function()
-- Use screen:expect{condition=…} to check the result. -- Use screen:expect{condition=…} to check the result.
screen:expect { screen:expect {
condition = function() condition = function()
eq({ id = 2 }, event_curtab) eq(2, event_curtab)
eq({ eq({
{ tab = { id = 1 }, name = '[No Name]' }, { tab = 1, name = '[No Name]' },
{ tab = { id = 2 }, name = 'foo' }, { tab = 2, name = 'foo' },
}, event_tabs) }, event_tabs)
end, end,
} }

View File

@@ -3408,7 +3408,7 @@ describe('lua stdlib', function()
describe('vim.api.nvim_buf_call', function() describe('vim.api.nvim_buf_call', function()
it('can access buf options', function() it('can access buf options', function()
local buf1 = api.nvim_get_current_buf().id local buf1 = api.nvim_get_current_buf()
local buf2 = exec_lua [[ local buf2 = exec_lua [[
buf2 = vim.api.nvim_create_buf(false, true) buf2 = vim.api.nvim_create_buf(false, true)
return buf2 return buf2
@@ -3426,7 +3426,7 @@ describe('lua stdlib', function()
eq(false, api.nvim_get_option_value('autoindent', { buf = buf1 })) eq(false, api.nvim_get_option_value('autoindent', { buf = buf1 }))
eq(true, api.nvim_get_option_value('autoindent', { buf = buf2 })) eq(true, api.nvim_get_option_value('autoindent', { buf = buf2 }))
eq(buf1, api.nvim_get_current_buf().id) eq(buf1, api.nvim_get_current_buf())
eq(buf2, val) eq(buf2, val)
end) end)
@@ -3488,7 +3488,7 @@ describe('lua stdlib', function()
describe('vim.api.nvim_win_call', function() describe('vim.api.nvim_win_call', function()
it('can access window options', function() it('can access window options', function()
command('vsplit') command('vsplit')
local win1 = api.nvim_get_current_win().id local win1 = api.nvim_get_current_win()
command('wincmd w') command('wincmd w')
local win2 = exec_lua [[ local win2 = exec_lua [[
win2 = vim.api.nvim_get_current_win() win2 = vim.api.nvim_get_current_win()
@@ -3508,7 +3508,7 @@ describe('lua stdlib', function()
eq('', api.nvim_get_option_value('winhighlight', { win = win1 })) eq('', api.nvim_get_option_value('winhighlight', { win = win1 }))
eq('Normal:Normal', api.nvim_get_option_value('winhighlight', { win = win2 })) eq('Normal:Normal', api.nvim_get_option_value('winhighlight', { win = win2 }))
eq(win1, api.nvim_get_current_win().id) eq(win1, api.nvim_get_current_win())
eq(win2, val) eq(win2, val)
end) end)

View File

@@ -322,7 +322,7 @@ describe(':terminal buffer', function()
command('split') command('split')
command('enew') command('enew')
local term = api.nvim_open_term(0, {}) local term = api.nvim_open_term(0, {})
local termbuf = api.nvim_get_current_buf().id local termbuf = api.nvim_get_current_buf()
-- Test that autocommand buffer is associated with the terminal buffer, not the current buffer -- Test that autocommand buffer is associated with the terminal buffer, not the current buffer
command('au TermRequest * let g:termbuf = +expand("<abuf>")') command('au TermRequest * let g:termbuf = +expand("<abuf>")')

View File

@@ -1543,7 +1543,7 @@ describe('cmdheight=0', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 2, botline = 2,
curline = 0, curline = 0,
@@ -1568,7 +1568,7 @@ describe('cmdheight=0', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 2, botline = 2,
curline = 0, curline = 0,

File diff suppressed because it is too large Load Diff

View File

@@ -1578,7 +1578,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 5, botline = 5,
curline = 0, curline = 0,
@@ -1616,7 +1616,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 5, botline = 5,
curline = 2, curline = 2,
@@ -1656,7 +1656,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 6, botline = 6,
curline = 0, curline = 0,
@@ -1718,7 +1718,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1760,7 +1760,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 1, topline = 1,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1800,7 +1800,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1838,7 +1838,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1874,7 +1874,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1908,7 +1908,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 4, topline = 4,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1944,7 +1944,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -1983,7 +1983,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -2021,7 +2021,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -2057,7 +2057,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 2, topline = 2,
botline = 6, botline = 6,
curline = 4, curline = 4,
@@ -2099,7 +2099,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 3, botline = 3,
curline = 0, curline = 0,
@@ -2108,7 +2108,7 @@ describe('folded lines', function()
sum_scroll_delta = 0, sum_scroll_delta = 0,
}, },
[4] = { [4] = {
win = { id = 1001 }, win = 1001,
topline = 0, topline = 0,
botline = 2, botline = 2,
curline = 0, curline = 0,
@@ -2153,7 +2153,7 @@ describe('folded lines', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 3, botline = 3,
curline = 0, curline = 0,
@@ -2162,7 +2162,7 @@ describe('folded lines', function()
sum_scroll_delta = -1, sum_scroll_delta = -1,
}, },
[4] = { [4] = {
win = { id = 1001 }, win = 1001,
topline = 0, topline = 0,
botline = 2, botline = 2,
curline = 0, curline = 0,

View File

@@ -813,7 +813,7 @@ describe('ui/mouse/input', function()
it('dragging vertical separator', function() it('dragging vertical separator', function()
screen:try_resize(45, 5) screen:try_resize(45, 5)
command('setlocal nowrap') command('setlocal nowrap')
local oldwin = api.nvim_get_current_win().id local oldwin = api.nvim_get_current_win()
command('rightbelow vnew') command('rightbelow vnew')
screen:expect([[ screen:expect([[
testing │{0:^$} | testing │{0:^$} |
@@ -1688,7 +1688,7 @@ describe('ui/mouse/input', function()
local col = win_col + opts.col local col = win_col + opts.col
api.nvim_input_mouse('left', 'press', '', 0, row, col) api.nvim_input_mouse('left', 'press', '', 0, row, col)
local mousepos = fn.getmousepos() local mousepos = fn.getmousepos()
eq(float.id, mousepos.winid) eq(float, mousepos.winid)
eq(win_row + 1, mousepos.winrow) eq(win_row + 1, mousepos.winrow)
eq(win_col + 1, mousepos.wincol) eq(win_col + 1, mousepos.wincol)
local line = 0 local line = 0
@@ -1723,7 +1723,7 @@ describe('ui/mouse/input', function()
local col = win_col + opts.col local col = win_col + opts.col
api.nvim_input_mouse('left', 'press', '', 0, row, col) api.nvim_input_mouse('left', 'press', '', 0, row, col)
local mousepos = fn.getmousepos() local mousepos = fn.getmousepos()
eq(float.id, mousepos.winid) eq(float, mousepos.winid)
eq(win_row + 1, mousepos.winrow) eq(win_row + 1, mousepos.winrow)
eq(win_col + 1, mousepos.wincol) eq(win_col + 1, mousepos.wincol)
local line = math.min(win_row + 1, fn.line('$')) local line = math.min(win_row + 1, fn.line('$'))

View File

@@ -75,8 +75,8 @@ describe('ext_multigrid', function()
{1:~ }|*11 {1:~ }|*11
]], condition=function() ]], condition=function()
eq({ eq({
[2] = { win = {id=1000}, startrow = 0, startcol = 27, width = 26, height = 12 }, [2] = { win = 1000, startrow = 0, startcol = 27, width = 26, height = 12 },
[4] = { win = {id=1001}, startrow = 0, startcol = 0, width = 26, height = 12 } [4] = { win = 1001, startrow = 0, startcol = 0, width = 26, height = 12 }
}, screen.win_position) }, screen.win_position)
end} end}
command('wincmd l') command('wincmd l')
@@ -101,9 +101,9 @@ describe('ext_multigrid', function()
{1:~ }|*5 {1:~ }|*5
]], condition=function() ]], condition=function()
eq({ eq({
[2] = { win = {id=1000}, startrow = 7, startcol = 27, width = 26, height = 5 }, [2] = { win = 1000, startrow = 7, startcol = 27, width = 26, height = 5 },
[4] = { win = {id=1001}, startrow = 0, startcol = 0, width = 26, height = 12 }, [4] = { win = 1001, startrow = 0, startcol = 0, width = 26, height = 12 },
[5] = { win = {id=1002}, startrow = 0, startcol = 27, width = 26, height = 6 } [5] = { win = 1002, startrow = 0, startcol = 27, width = 26, height = 6 }
}, screen.win_position) }, screen.win_position)
end} end}
command('wincmd h') command('wincmd h')
@@ -125,8 +125,8 @@ describe('ext_multigrid', function()
{1:~ }|*5 {1:~ }|*5
]], condition=function() ]], condition=function()
eq({ eq({
[2] = { win = {id=1000}, startrow = 7, startcol = 0, width = 53, height = 5 }, [2] = { win = 1000, startrow = 7, startcol = 0, width = 53, height = 5 },
[5] = { win = {id=1002}, startrow = 0, startcol = 0, width = 53, height = 6 } [5] = { win = 1002, startrow = 0, startcol = 0, width = 53, height = 6 }
}, screen.win_position) }, screen.win_position)
end} end}
end) end)
@@ -456,7 +456,7 @@ describe('ext_multigrid', function()
it('winwidth() winheight() getwininfo() return inner width and height #19743', function() it('winwidth() winheight() getwininfo() return inner width and height #19743', function()
eq(60, fn.winwidth(0)) eq(60, fn.winwidth(0))
eq(20, fn.winheight(0)) eq(20, fn.winheight(0))
local win_info = fn.getwininfo(curwin().id)[1] local win_info = fn.getwininfo(curwin())[1]
eq(60, win_info.width) eq(60, win_info.width)
eq(20, win_info.height) eq(20, win_info.height)
end) end)
@@ -616,7 +616,7 @@ describe('ext_multigrid', function()
{21: }| {21: }|
{22:~ }|*4 {22:~ }|*4
]], float_pos={ ]], float_pos={
[4] = {{id = 1001}, "SE", 2, 16, 58, true, 50}; [4] = {1001, "SE", 2, 16, 58, true, 50};
}} }}
end) end)
@@ -638,7 +638,7 @@ describe('ext_multigrid', function()
{24: foo}| {24: foo}|
{21: bar}| {21: bar}|
]], float_pos={ ]], float_pos={
[4] = {{id = -1}, "NW", 2, 15, 55, false, 100}; [4] = {-1, "NW", 2, 15, 55, false, 100};
}} }}
feed('<C-E><Esc>') feed('<C-E><Esc>')
@@ -660,7 +660,7 @@ describe('ext_multigrid', function()
{24: oof}| {24: oof}|
{21: rab}| {21: rab}|
]], float_pos={ ]], float_pos={
[4] = {{id = -1}, "NW", 2, 16, 45, false, 100}; [4] = {-1, "NW", 2, 16, 45, false, 100};
}} }}
feed('<C-E><Esc>') feed('<C-E><Esc>')
@@ -682,7 +682,7 @@ describe('ext_multigrid', function()
{24: undefine }| {24: undefine }|
{21: unplace }| {21: unplace }|
]], float_pos={ ]], float_pos={
[4] = {{id = -1}, "SW", 1, 13, 5, false, 250}; [4] = {-1, "SW", 1, 13, 5, false, 250};
}} }}
end) end)
end) end)
@@ -1221,7 +1221,7 @@ describe('ext_multigrid', function()
## grid 6 ## grid 6
{21: Copy }| {21: Copy }|
]], float_pos={ ]], float_pos={
[6] = {{id = -1}, "NW", 2, 2, 5, false, 250}; [6] = {-1, "NW", 2, 2, 5, false, 250};
}} }}
feed('<Down><CR>') feed('<Down><CR>')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -1295,7 +1295,7 @@ describe('ext_multigrid', function()
## grid 6 ## grid 6
{21: Copy }| {21: Copy }|
]], float_pos={ ]], float_pos={
[6] = {{id = -1}, "NW", 4, 1, 63, false, 250}; [6] = {-1, "NW", 4, 1, 63, false, 250};
}} }}
feed('<Down><CR>') feed('<Down><CR>')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -1417,7 +1417,7 @@ describe('ext_multigrid', function()
## grid 6 ## grid 6
{21: Copy }| {21: Copy }|
]], float_pos={ ]], float_pos={
[6] = {{id = -1}, "SW", 4, 9, 0, false, 250}; [6] = {-1, "SW", 4, 9, 0, false, 250};
}} }}
feed('<Down><CR>') feed('<Down><CR>')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -1549,7 +1549,7 @@ describe('ext_multigrid', function()
## grid 6 ## grid 6
{21: Copy }| {21: Copy }|
]], float_pos={ ]], float_pos={
[6] = {{id = -1}, "NW", 4, 10, 0, false, 250}; [6] = {-1, "NW", 4, 10, 0, false, 250};
}} }}
feed('<Down><CR>') feed('<Down><CR>')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -1632,7 +1632,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = { id = 1000 }, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0} [2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}
}} }}
insert([[ insert([[
Lorem ipsum dolor sit amet, consectetur Lorem ipsum dolor sit amet, consectetur
@@ -1662,7 +1662,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 5, botline = 11, curline = 10, curcol = 7, linecount = 11, sum_scroll_delta = 5}, [2] = {win = 1000, topline = 5, botline = 11, curline = 10, curcol = 7, linecount = 11, sum_scroll_delta = 5},
}} }}
@@ -1682,7 +1682,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 2, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 2}, [2] = {win = 1000, topline = 2, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 2},
}} }}
command("split") command("split")
@@ -1703,8 +1703,8 @@ describe('ext_multigrid', function()
reprehenderit in voluptate velit esse cillum | reprehenderit in voluptate velit esse cillum |
^dolore eu fugiat nulla pariatur. Excepteur sint | ^dolore eu fugiat nulla pariatur. Excepteur sint |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 6, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 6}, [2] = {win = 1000, topline = 6, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 6},
[4] = {win = {id = 1001}, topline = 5, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 5}, [4] = {win = 1001, topline = 5, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 5},
}} }}
feed("b") feed("b")
@@ -1725,8 +1725,8 @@ describe('ext_multigrid', function()
reprehenderit in voluptate velit esse ^cillum | reprehenderit in voluptate velit esse ^cillum |
dolore eu fugiat nulla pariatur. Excepteur sint | dolore eu fugiat nulla pariatur. Excepteur sint |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 6, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 6}, [2] = {win = 1000, topline = 6, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 6},
[4] = {win = {id = 1001}, topline = 5, botline = 9, curline = 6, curcol = 38, linecount = 11, sum_scroll_delta = 5}, [4] = {win = 1001, topline = 5, botline = 9, curline = 6, curcol = 38, linecount = 11, sum_scroll_delta = 5},
}} }}
feed("2k") feed("2k")
@@ -1747,8 +1747,8 @@ describe('ext_multigrid', function()
ea commodo consequat. Duis aute irure dolor in | ea commodo consequat. Duis aute irure dolor in |
reprehenderit in voluptate velit esse cillum | reprehenderit in voluptate velit esse cillum |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 6, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 6}, [2] = {win = 1000, topline = 6, botline = 9, curline = 7, curcol = 0, linecount = 11, sum_scroll_delta = 6},
[4] = {win = {id = 1001}, topline = 4, botline = 8, curline = 4, curcol = 38, linecount = 11, sum_scroll_delta = 4}, [4] = {win = 1001, topline = 4, botline = 8, curline = 4, curcol = 38, linecount = 11, sum_scroll_delta = 4},
}} }}
-- handles non-current window -- handles non-current window
@@ -1770,8 +1770,8 @@ describe('ext_multigrid', function()
ea commodo consequat. Duis aute irure dolor in | ea commodo consequat. Duis aute irure dolor in |
reprehenderit in voluptate velit esse cillum | reprehenderit in voluptate velit esse cillum |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}, [2] = {win = 1000, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0},
[4] = {win = {id = 1001}, topline = 4, botline = 8, curline = 4, curcol = 38, linecount = 11, sum_scroll_delta = 4}, [4] = {win = 1001, topline = 4, botline = 8, curline = 4, curcol = 38, linecount = 11, sum_scroll_delta = 4},
}} }}
-- sum_scroll_delta works with folds -- sum_scroll_delta works with folds
@@ -1793,8 +1793,8 @@ describe('ext_multigrid', function()
reprehenderit in voluptate velit esse cillum | reprehenderit in voluptate velit esse cillum |
dolore eu fugiat nulla pariatur. Excepteur sint | dolore eu fugiat nulla pariatur. Excepteur sint |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}, [2] = {win = 1000, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0},
[4] = {win = {id = 1001}, topline = 4, botline = 9, curline = 4, curcol = 38, linecount = 11, sum_scroll_delta = 4}, [4] = {win = 1001, topline = 4, botline = 9, curline = 4, curcol = 38, linecount = 11, sum_scroll_delta = 4},
}} }}
feed('<c-e>') feed('<c-e>')
@@ -1815,8 +1815,8 @@ describe('ext_multigrid', function()
dolore eu fugiat nulla pariatur. Excepteur sint | dolore eu fugiat nulla pariatur. Excepteur sint |
occaecat cupidatat non proident, sunt in culpa | occaecat cupidatat non proident, sunt in culpa |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}, [2] = {win = 1000, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0},
[4] = {win = {id = 1001}, topline = 6, botline = 10, curline = 6, curcol = 0, linecount = 11, sum_scroll_delta = 5}, [4] = {win = 1001, topline = 6, botline = 10, curline = 6, curcol = 0, linecount = 11, sum_scroll_delta = 5},
}} }}
command('close | 21vsplit | setlocal number smoothscroll') command('close | 21vsplit | setlocal number smoothscroll')
@@ -1842,8 +1842,8 @@ describe('ext_multigrid', function()
{19: } sed do eiusmod t| {19: } sed do eiusmod t|
{19: }empor | {19: }empor |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [5] = {win = 1002, topline = 0, botline = 3, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
}} }}
feed('5<C-E>') feed('5<C-E>')
@@ -1869,8 +1869,8 @@ describe('ext_multigrid', function()
{19: 4 }Ut enim ad minim | {19: 4 }Ut enim ad minim |
{19: }veniam, quis n{1:@@@}| {19: }veniam, quis n{1:@@@}|
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 1, botline = 4, curline = 1, curcol = 38, linecount = 11, sum_scroll_delta = 5}; [5] = {win = 1002, topline = 1, botline = 4, curline = 1, curcol = 38, linecount = 11, sum_scroll_delta = 5};
}} }}
feed('<C-Y>') feed('<C-Y>')
@@ -1896,8 +1896,8 @@ describe('ext_multigrid', function()
{19: }na aliqua. | {19: }na aliqua. |
{19: 4 }Ut enim ad min{1:@@@}| {19: 4 }Ut enim ad min{1:@@@}|
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 1, botline = 4, curline = 1, curcol = 38, linecount = 11, sum_scroll_delta = 4}; [5] = {win = 1002, topline = 1, botline = 4, curline = 1, curcol = 38, linecount = 11, sum_scroll_delta = 4};
}} }}
command('set cpoptions+=n') command('set cpoptions+=n')
@@ -1923,8 +1923,8 @@ describe('ext_multigrid', function()
liqua. | liqua. |
{19: 4 }Ut enim ad min{1:@@@}| {19: 4 }Ut enim ad min{1:@@@}|
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 1, botline = 4, curline = 1, curcol = 38, linecount = 11, sum_scroll_delta = 4}; [5] = {win = 1002, topline = 1, botline = 4, curline = 1, curcol = 38, linecount = 11, sum_scroll_delta = 4};
}} }}
feed('4<C-E>') feed('4<C-E>')
@@ -1950,8 +1950,8 @@ describe('ext_multigrid', function()
mco laboris nisi ut a| mco laboris nisi ut a|
liquip ex | liquip ex |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 2, botline = 6, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 8}; [5] = {win = 1002, topline = 2, botline = 6, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 8};
}} }}
feed('2<C-Y>') feed('2<C-Y>')
@@ -1977,8 +1977,8 @@ describe('ext_multigrid', function()
veniam, quis nostrud | veniam, quis nostrud |
{19: 5 }exercitation u{1:@@@}| {19: 5 }exercitation u{1:@@@}|
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 2, botline = 5, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 6}; [5] = {win = 1002, topline = 2, botline = 5, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 6};
}} }}
command('setlocal numberwidth=12') command('setlocal numberwidth=12')
@@ -2004,8 +2004,8 @@ describe('ext_multigrid', function()
d minim veniam, quis | d minim veniam, quis |
nostrud | nostrud |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 2, botline = 5, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 6}; [5] = {win = 1002, topline = 2, botline = 5, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 6};
}} }}
feed('2<C-E>') feed('2<C-E>')
@@ -2031,8 +2031,8 @@ describe('ext_multigrid', function()
{19: 5 }exercitat| {19: 5 }exercitat|
ion ullamco labori{1:@@@}| ion ullamco labori{1:@@@}|
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 2, botline = 5, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 8}; [5] = {win = 1002, topline = 2, botline = 5, curline = 2, curcol = 43, linecount = 11, sum_scroll_delta = 8};
}} }}
feed('<C-E>') feed('<C-E>')
@@ -2058,8 +2058,8 @@ describe('ext_multigrid', function()
ion ullamco laboris n| ion ullamco laboris n|
isi ut aliquip ex | isi ut aliquip ex |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 4, curline = 0, curcol = 10, linecount = 11, sum_scroll_delta = 0};
[5] = {win = {id = 1002}, topline = 3, botline = 6, curline = 3, curcol = 36, linecount = 11, sum_scroll_delta = 9}; [5] = {win = 1002, topline = 3, botline = 6, curline = 3, curcol = 36, linecount = 11, sum_scroll_delta = 9};
}} }}
end) end)
@@ -2087,7 +2087,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 13, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 13, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0};
}} }}
feed('G') feed('G')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -2111,7 +2111,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 30580, botline = 30592, curline = 30591, curcol = 0, linecount = 30592, sum_scroll_delta = 30580}; [2] = {win = 1000, topline = 30580, botline = 30592, curline = 30591, curcol = 0, linecount = 30592, sum_scroll_delta = 30580};
}} }}
feed('gg') feed('gg')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -2135,7 +2135,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 13, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 13, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0};
}} }}
command('setlocal wrap') command('setlocal wrap')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -2159,7 +2159,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 10, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 10, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0};
}} }}
feed('G') feed('G')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -2183,7 +2183,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 30586, botline = 30592, curline = 30591, curcol = 0, linecount = 30592, sum_scroll_delta = 30588}; [2] = {win = 1000, topline = 30586, botline = 30592, curline = 30591, curcol = 0, linecount = 30592, sum_scroll_delta = 30588};
}} }}
feed('gg') feed('gg')
screen:expect{grid=[[ screen:expect{grid=[[
@@ -2207,7 +2207,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 10, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 10, curline = 0, curcol = 0, linecount = 30592, sum_scroll_delta = 0};
}} }}
end) end)
@@ -2224,7 +2224,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = { id = 1000 }, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0} [2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}
}} }}
insert([[ insert([[
Lorem ipsum dolor sit amet, consectetur Lorem ipsum dolor sit amet, consectetur
@@ -2254,7 +2254,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
| |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 5, botline = 11, curline = 10, curcol = 7, linecount = 11, sum_scroll_delta = 5}, [2] = {win = 1000, topline = 5, botline = 11, curline = 10, curcol = 7, linecount = 11, sum_scroll_delta = 5},
}} }}
api.nvim_input_mouse('left', 'press', '', 1,5, 1) api.nvim_input_mouse('left', 'press', '', 1,5, 1)
@@ -2276,7 +2276,7 @@ describe('ext_multigrid', function()
## grid 3 ## grid 3
{7:-- VISUAL --} | {7:-- VISUAL --} |
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 6, botline = 12, curline = 10, curcol = 1, linecount = 11, sum_scroll_delta = 6}, [2] = {win = 1000, topline = 6, botline = 12, curline = 10, curcol = 1, linecount = 11, sum_scroll_delta = 6},
}} }}
end) end)
@@ -2298,8 +2298,8 @@ describe('ext_multigrid', function()
^ | ^ |
{1:~ }|*5 {1:~ }|*5
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; [4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
}} }}
-- XXX: hack to get notifications. Could use next_msg() also. -- XXX: hack to get notifications. Could use next_msg() also.
@@ -2328,8 +2328,8 @@ describe('ext_multigrid', function()
^ | ^ |
{1:~ }|*4 {1:~ }|*4
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; [4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
}} }}
eq({}, win_pos) eq({}, win_pos)
@@ -2350,8 +2350,8 @@ describe('ext_multigrid', function()
^ | ^ |
{1:~ }|*5 {1:~ }|*5
]], win_viewport={ ]], win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; [2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0}; [4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
}} }}
eq({}, win_pos) eq({}, win_pos)
end) end)

View File

@@ -1209,7 +1209,7 @@ describe('builtin popupmenu', function()
{n:hh }{s: }| {n:hh }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 2, 0, false, 100 }, [5] = { -1, 'NW', 2, 2, 0, false, 100 },
}, },
} }
else else
@@ -1267,7 +1267,7 @@ describe('builtin popupmenu', function()
{n:hh }{s: }| {n:hh }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 2, 0, false, 100 }, [5] = { -1, 'NW', 2, 2, 0, false, 100 },
}, },
} }
else else
@@ -1343,7 +1343,7 @@ describe('builtin popupmenu', function()
{n:mm }{s: }| {n:mm }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'SW', 2, 12, 0, false, 100 }, [5] = { -1, 'SW', 2, 12, 0, false, 100 },
}, },
} }
else else
@@ -1419,7 +1419,7 @@ describe('builtin popupmenu', function()
{n:ii }{s: }| {n:ii }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'SW', 2, 8, 0, false, 100 }, [5] = { -1, 'SW', 2, 8, 0, false, 100 },
}, },
} }
else else
@@ -1494,7 +1494,7 @@ describe('builtin popupmenu', function()
{n:hh }{s: }| {n:hh }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'SW', 2, 8, 0, false, 100 }, [5] = { -1, 'SW', 2, 8, 0, false, 100 },
}, },
} }
else else
@@ -1630,8 +1630,8 @@ describe('builtin popupmenu', function()
{n:three }| {n:three }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 1, 0, false, 100 }, [5] = { -1, 'NW', 2, 1, 0, false, 100 },
[4] = { { id = 1001 }, 'NW', 1, 1, 15, true, 50 }, [4] = { 1001, 'NW', 1, 1, 15, true, 50 },
}, },
} }
else else
@@ -1671,8 +1671,8 @@ describe('builtin popupmenu', function()
{s:three }| {s:three }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 1, 0, false, 100 }, [5] = { -1, 'NW', 2, 1, 0, false, 100 },
[4] = { { id = 1001 }, 'NW', 1, 1, 15, true, 50 }, [4] = { 1001, 'NW', 1, 1, 15, true, 50 },
}, },
} }
else else
@@ -1715,12 +1715,12 @@ describe('builtin popupmenu', function()
{n: }| {n: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 1, 19, false, 100 }, [5] = { -1, 'NW', 2, 1, 19, false, 100 },
[6] = { { id = 1002 }, 'NW', 1, 1, 1, true, 50 }, [6] = { 1002, 'NW', 1, 1, 1, true, 50 },
}, },
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 2, botline = 2,
curline = 0, curline = 0,
@@ -1729,7 +1729,7 @@ describe('builtin popupmenu', function()
sum_scroll_delta = 0, sum_scroll_delta = 0,
}, },
[6] = { [6] = {
win = { id = 1002 }, win = 1002,
topline = 0, topline = 0,
botline = 2, botline = 2,
curline = 0, curline = 0,
@@ -1811,7 +1811,7 @@ describe('builtin popupmenu', function()
{n: aac }| {n: aac }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 4, 2, 3, false, 100 }, [5] = { -1, 'NW', 4, 2, 3, false, 100 },
}, },
} }
else else
@@ -1853,7 +1853,7 @@ describe('builtin popupmenu', function()
{n: aac }| {n: aac }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 3, 1, false, 100 }, [5] = { -1, 'NW', 2, 3, 1, false, 100 },
}, },
} }
else else
@@ -1897,7 +1897,7 @@ describe('builtin popupmenu', function()
{n: aaabcdef}| {n: aaabcdef}|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 3, 11, false, 100 }, [5] = { -1, 'NW', 2, 3, 11, false, 100 },
}, },
} }
else else
@@ -1942,7 +1942,7 @@ describe('builtin popupmenu', function()
{n: aac }{s: }| {n: aac }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 2, 4, -1, false, 100 }, [5] = { -1, 'NW', 2, 4, -1, false, 100 },
}, },
} }
else else
@@ -2476,7 +2476,7 @@ describe('builtin popupmenu', function()
{s: }{n: eciohc }| {s: }{n: eciohc }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 4, 1, -11, false, 100 }, [5] = { -1, 'NW', 4, 1, -11, false, 100 },
}, },
} }
else else
@@ -2513,7 +2513,7 @@ describe('builtin popupmenu', function()
{s: }{n: eciohc}| {s: }{n: eciohc}|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'NW', 4, 2, 4, false, 100 }, [5] = { -1, 'NW', 4, 2, 4, false, 100 },
}, },
} }
else else
@@ -2580,7 +2580,7 @@ describe('builtin popupmenu', function()
{n:jump }{s: }| {n:jump }{s: }|
]], ]],
float_pos = { float_pos = {
[5] = { { id = -1 }, 'SW', 1, 5, 0, false, 250 }, [5] = { -1, 'SW', 1, 5, 0, false, 250 },
}, },
} }
else else
@@ -3475,7 +3475,7 @@ describe('builtin popupmenu', function()
{n: choice}{s: }| {n: choice}{s: }|
]], ]],
float_pos = { float_pos = {
[4] = { { id = -1 }, 'NW', 2, 1, 24, false, 100 }, [4] = { -1, 'NW', 2, 1, 24, false, 100 },
}, },
} }
else else
@@ -3514,7 +3514,7 @@ describe('builtin popupmenu', function()
{n: thing }| {n: thing }|
]], ]],
float_pos = { float_pos = {
[4] = { { id = -1 }, 'NW', 2, 1, 25, false, 100 }, [4] = { -1, 'NW', 2, 1, 25, false, 100 },
}, },
} }
else else
@@ -3565,7 +3565,7 @@ describe('builtin popupmenu', function()
## grid 4 ## grid 4
{n: 哦哦哦哦哦哦哦哦哦>}| {n: 哦哦哦哦哦哦哦哦哦>}|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 12, false, 100 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 12, false, 100 } },
}) })
else else
screen:expect([[ screen:expect([[
@@ -3602,7 +3602,7 @@ describe('builtin popupmenu', function()
{n: 哦哦哦哦哦哦哦哦哦>}{c: }|*2 {n: 哦哦哦哦哦哦哦哦哦>}{c: }|*2
{n: 哦哦哦哦哦哦哦哦哦>}{s: }|*2 {n: 哦哦哦哦哦哦哦哦哦>}{s: }|*2
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 11, false, 100 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 11, false, 100 } },
}) })
else else
screen:expect([[ screen:expect([[
@@ -3644,7 +3644,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
feed('<RightMouse><4,0>') feed('<RightMouse><4,0>')
@@ -3674,7 +3674,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
screen:expect([[ screen:expect([[
@@ -3703,7 +3703,7 @@ describe('builtin popupmenu', function()
{s: bar }| {s: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
screen:expect([[ screen:expect([[
@@ -3755,7 +3755,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 3, 19, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 3, 19, false, 250 } },
}) })
else else
feed('<RightMouse><20,2>') feed('<RightMouse><20,2>')
@@ -3785,7 +3785,7 @@ describe('builtin popupmenu', function()
{n: baz }| {n: baz }|
]], ]],
float_pos = { float_pos = {
[4] = { { id = -1 }, 'NW', 2, 1, 17, false, 250 }, [4] = { -1, 'NW', 2, 1, 17, false, 250 },
}, },
} }
else else
@@ -3816,7 +3816,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 3, 19, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 3, 19, false, 250 } },
}) })
else else
feed('<RightMouse><20,2>') feed('<RightMouse><20,2>')
@@ -3869,7 +3869,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
feed('<RightMouse><4,0>') feed('<RightMouse><4,0>')
@@ -3899,7 +3899,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{s: baz }| {s: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
feed('<RightDrag><6,3>') feed('<RightDrag><6,3>')
@@ -3954,7 +3954,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{n: baz }| {n: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
feed('<RightMouse><4,0>') feed('<RightMouse><4,0>')
@@ -3985,7 +3985,7 @@ describe('builtin popupmenu', function()
{n: bar }| {n: bar }|
{s: baz }| {s: baz }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'NW', 2, 1, 3, false, 250 } }, float_pos = { [4] = { -1, 'NW', 2, 1, 3, false, 250 } },
}) })
else else
feed('<MouseMove><6,3>') feed('<MouseMove><6,3>')
@@ -4047,7 +4047,7 @@ describe('builtin popupmenu', function()
^popup menu test | ^popup menu test |
{1:~ }| {1:~ }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'SW', 5, 1, 19, false, 250 } }, float_pos = { [4] = { -1, 'SW', 5, 1, 19, false, 250 } },
}) })
else else
feed('<RightMouse><20,4>') feed('<RightMouse><20,4>')
@@ -4118,7 +4118,7 @@ describe('builtin popupmenu', function()
^popup menu test | ^popup menu test |
{1:~ }| {1:~ }|
]], ]],
float_pos = { [4] = { { id = -1 }, 'SW', 6, 1, 12, false, 250 } }, float_pos = { [4] = { -1, 'SW', 6, 1, 12, false, 250 } },
}) })
else else
feed('<RightMouse><30,4>') feed('<RightMouse><30,4>')
@@ -4192,7 +4192,7 @@ describe('builtin popupmenu', function()
{2:WINBAR }| {2:WINBAR }|
^popup menu test | ^popup menu test |
]], ]],
float_pos = { [4] = { { id = -1 }, 'SW', 6, 1, 12, false, 250 } }, float_pos = { [4] = { -1, 'SW', 6, 1, 12, false, 250 } },
}) })
else else
feed('<RightMouse><30,4>') feed('<RightMouse><30,4>')

View File

@@ -1484,9 +1484,9 @@ local function fmt_ext_state(name, state)
str str
.. ' [' .. ' ['
.. k .. k
.. '] = {win = {id = ' .. '] = {win = '
.. v.win.id .. v.win
.. '}, topline = ' .. ', topline = '
.. v.topline .. v.topline
.. ', botline = ' .. ', botline = '
.. v.botline .. v.botline
@@ -1505,7 +1505,7 @@ local function fmt_ext_state(name, state)
elseif name == 'float_pos' then elseif name == 'float_pos' then
local str = '{\n' local str = '{\n'
for k, v in pairs(state) do for k, v in pairs(state) do
str = str .. ' [' .. k .. '] = {{id = ' .. v[1].id .. '}' str = str .. ' [' .. k .. '] = {' .. v[1]
for i = 2, #v do for i = 2, #v do
str = str .. ', ' .. inspect(v[i]) str = str .. ', ' .. inspect(v[i])
end end

View File

@@ -49,7 +49,7 @@ describe('search highlighting', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 3, botline = 3,
curline = 0, curline = 0,
@@ -617,7 +617,7 @@ describe('search highlighting', function()
]], ]],
win_viewport = { win_viewport = {
[2] = { [2] = {
win = { id = 1000 }, win = 1000,
topline = 0, topline = 0,
botline = 3, botline = 3,
curline = 0, curline = 0,

View File

@@ -138,7 +138,7 @@ for _, model in ipairs(mousemodels) do
command('tabnew | tabprevious') command('tabnew | tabprevious')
api.nvim_set_option_value('statusline', '%2TNot clicky stuff%T', {}) api.nvim_set_option_value('statusline', '%2TNot clicky stuff%T', {})
api.nvim_input_mouse('left', 'press', '', 0, 6, 0) api.nvim_input_mouse('left', 'press', '', 0, 6, 0)
eq(1, api.nvim_get_current_tabpage().id) eq(1, api.nvim_get_current_tabpage())
api.nvim_set_option_value('statusline', '%2XNot clicky stuff%X', {}) api.nvim_set_option_value('statusline', '%2XNot clicky stuff%X', {})
api.nvim_input_mouse('left', 'press', '', 0, 6, 0) api.nvim_input_mouse('left', 'press', '', 0, 6, 0)
eq(2, #api.nvim_list_tabpages()) eq(2, #api.nvim_list_tabpages())

View File

@@ -25,8 +25,8 @@ describe('ui/ext_tabline', function()
command('tabedit another-tab') command('tabedit another-tab')
local expected_tabs = { local expected_tabs = {
{ tab = { id = 1 }, name = '[No Name]' }, { tab = 1, name = '[No Name]' },
{ tab = { id = 2 }, name = 'another-tab' }, { tab = 2, name = 'another-tab' },
} }
screen:expect { screen:expect {
grid = [[ grid = [[
@@ -35,7 +35,7 @@ describe('ui/ext_tabline', function()
| |
]], ]],
condition = function() condition = function()
eq({ id = 2 }, event_curtab) eq(2, event_curtab)
eq(expected_tabs, event_tabs) eq(expected_tabs, event_tabs)
end, end,
} }
@@ -48,7 +48,7 @@ describe('ui/ext_tabline', function()
| |
]], ]],
condition = function() condition = function()
eq({ id = 1 }, event_curtab) eq(1, event_curtab)
eq(expected_tabs, event_tabs) eq(expected_tabs, event_tabs)
end, end,
} }
@@ -56,7 +56,7 @@ describe('ui/ext_tabline', function()
it('buffer UI events', function() it('buffer UI events', function()
local expected_buffers_initial = { local expected_buffers_initial = {
{ buffer = { id = 1 }, name = '[No Name]' }, { buffer = 1, name = '[No Name]' },
} }
screen:expect { screen:expect {
@@ -66,7 +66,7 @@ describe('ui/ext_tabline', function()
| |
]], ]],
condition = function() condition = function()
eq({ id = 1 }, event_curbuf) eq(1, event_curbuf)
eq(expected_buffers_initial, event_buffers) eq(expected_buffers_initial, event_buffers)
end, end,
} }
@@ -75,8 +75,8 @@ describe('ui/ext_tabline', function()
command('bnext') command('bnext')
local expected_buffers = { local expected_buffers = {
{ buffer = { id = 1 }, name = '[No Name]' }, { buffer = 1, name = '[No Name]' },
{ buffer = { id = 2 }, name = 'another-buffer' }, { buffer = 2, name = 'another-buffer' },
} }
screen:expect { screen:expect {
grid = [[ grid = [[
@@ -85,7 +85,7 @@ describe('ui/ext_tabline', function()
| |
]], ]],
condition = function() condition = function()
eq({ id = 2 }, event_curbuf) eq(2, event_curbuf)
eq(expected_buffers, event_buffers) eq(expected_buffers, event_buffers)
end, end,
} }

View File

@@ -96,7 +96,7 @@ describe('title', function()
end) end)
it('setting the buffer of another window using RPC', function() it('setting the buffer of another window using RPC', function()
local oldwin = curwin().id local oldwin = curwin()
command('split') command('split')
api.nvim_win_set_buf(oldwin, buf2) api.nvim_win_set_buf(oldwin, buf2)
command('redraw!') command('redraw!')
@@ -106,7 +106,7 @@ describe('title', function()
end) end)
it('setting the buffer of another window using Lua callback', function() it('setting the buffer of another window using Lua callback', function()
local oldwin = curwin().id local oldwin = curwin()
command('split') command('split')
exec_lua(string.format( exec_lua(string.format(
[[ [[

View File

@@ -51,7 +51,7 @@ describe('winbar', function()
]]) ]])
-- winbar is excluded from the heights returned by winheight() and getwininfo() -- winbar is excluded from the heights returned by winheight() and getwininfo()
eq(11, fn.winheight(0)) eq(11, fn.winheight(0))
local win_info = fn.getwininfo(api.nvim_get_current_win().id)[1] local win_info = fn.getwininfo(api.nvim_get_current_win())[1]
eq(11, win_info.height) eq(11, win_info.height)
eq(1, win_info.winbar) eq(1, win_info.winbar)
end) end)
@@ -428,7 +428,7 @@ describe('winbar', function()
| |
]], ]],
} }
api.nvim_set_option_value('winbar', 'floaty bar', { scope = 'local', win = win.id }) api.nvim_set_option_value('winbar', 'floaty bar', { scope = 'local', win = win })
screen:expect { screen:expect {
grid = [[ grid = [[
{1:bar }| {1:bar }|

View File

@@ -243,7 +243,7 @@ describe('getbufvar() function', function()
-- But with window-local options it probably does not what you expect -- But with window-local options it probably does not what you expect
command('setl number') command('setl number')
-- (note that current windows buffer is 2, but getbufvar() receives 1) -- (note that current windows buffer is 2, but getbufvar() receives 1)
eq({ id = 2 }, api.nvim_win_get_buf(0)) eq(2, api.nvim_win_get_buf(0))
eq(1, fn.getbufvar(1, '&number')) eq(1, fn.getbufvar(1, '&number'))
eq(1, fn.getbufvar(1, '&l:number')) eq(1, fn.getbufvar(1, '&l:number'))
-- You can get global value though, if you find this useful. -- You can get global value though, if you find this useful.
@@ -287,18 +287,18 @@ describe('setbufvar() function', function()
eq(2, api.nvim_buf_get_number(api.nvim_win_get_buf(0))) eq(2, api.nvim_buf_get_number(api.nvim_win_get_buf(0)))
fn.setbufvar(1, '&number', true) fn.setbufvar(1, '&number', true)
local windows = api.nvim_tabpage_list_wins(0) local windows = api.nvim_tabpage_list_wins(0)
eq(false, api.nvim_get_option_value('number', { win = windows[1].id })) eq(false, api.nvim_get_option_value('number', { win = windows[1] }))
eq(true, api.nvim_get_option_value('number', { win = windows[2].id })) eq(true, api.nvim_get_option_value('number', { win = windows[2] }))
eq(false, api.nvim_get_option_value('number', { win = windows[3].id })) eq(false, api.nvim_get_option_value('number', { win = windows[3] }))
eq(false, api.nvim_get_option_value('number', { win = api.nvim_get_current_win().id })) eq(false, api.nvim_get_option_value('number', { win = api.nvim_get_current_win() }))
eq(true, api.nvim_get_option_value('hidden', {})) eq(true, api.nvim_get_option_value('hidden', {}))
fn.setbufvar(1, '&hidden', 0) fn.setbufvar(1, '&hidden', 0)
eq(false, api.nvim_get_option_value('hidden', {})) eq(false, api.nvim_get_option_value('hidden', {}))
eq(false, api.nvim_get_option_value('autoindent', { buf = buf1.id })) eq(false, api.nvim_get_option_value('autoindent', { buf = buf1 }))
fn.setbufvar(1, '&autoindent', true) fn.setbufvar(1, '&autoindent', true)
eq(true, api.nvim_get_option_value('autoindent', { buf = buf1.id })) eq(true, api.nvim_get_option_value('autoindent', { buf = buf1 }))
eq('Vim(call):E355: Unknown option: xxx', exc_exec('call setbufvar(1, "&xxx", 0)')) eq('Vim(call):E355: Unknown option: xxx', exc_exec('call setbufvar(1, "&xxx", 0)'))
end) end)
it('may set variables', function() it('may set variables', function()