mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 17:21:49 +00:00
api: simplify nvim_buf_get_offset function
This commit is contained in:
@@ -301,37 +301,40 @@ describe('api/buf', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('get_offset_for_line', function()
|
||||
local get_offset_for_line = curbufmeths.get_offset_for_line
|
||||
describe('get_offset', function()
|
||||
local get_offset = curbufmeths.get_offset
|
||||
it('works', function()
|
||||
curbufmeths.set_lines(0,-1,true,{'Some','exa\000mple', '', 'text'})
|
||||
eq(4, curbufmeths.line_count())
|
||||
eq(0, get_offset_for_line(0))
|
||||
eq(5, get_offset_for_line(1))
|
||||
eq(14, get_offset_for_line(2))
|
||||
eq(15, get_offset_for_line(3))
|
||||
eq(20, get_offset_for_line(4))
|
||||
eq({false,'Index out of bounds'}, meth_pcall(get_offset_for_line, 5))
|
||||
eq({false,'Index out of bounds'}, meth_pcall(get_offset_for_line, -1))
|
||||
curbufmeths.set_lines(0,-1,true,{'Some\r','exa\000mple', '', 'buf\rfer', 'text'})
|
||||
eq(5, curbufmeths.line_count())
|
||||
eq(0, get_offset(0))
|
||||
eq(6, get_offset(1))
|
||||
eq(15, get_offset(2))
|
||||
eq(16, get_offset(3))
|
||||
eq(24, get_offset(4))
|
||||
eq(29, get_offset(5))
|
||||
eq({false,'Index out of bounds'}, meth_pcall(get_offset, 6))
|
||||
eq({false,'Index out of bounds'}, meth_pcall(get_offset, -1))
|
||||
|
||||
curbufmeths.set_option('eol', false)
|
||||
curbufmeths.set_option('fixeol', false)
|
||||
eq(19, get_offset_for_line(4))
|
||||
eq(28, get_offset(5))
|
||||
|
||||
-- fileformat is ignored
|
||||
curbufmeths.set_option('fileformat', 'dos')
|
||||
eq(0, get_offset_for_line(0))
|
||||
eq(6, get_offset_for_line(1))
|
||||
eq(16, get_offset_for_line(2))
|
||||
eq(18, get_offset_for_line(3))
|
||||
eq(22, get_offset_for_line(4))
|
||||
eq(0, get_offset(0))
|
||||
eq(6, get_offset(1))
|
||||
eq(15, get_offset(2))
|
||||
eq(16, get_offset(3))
|
||||
eq(24, get_offset(4))
|
||||
eq(28, get_offset(5))
|
||||
curbufmeths.set_option('eol', true)
|
||||
eq(24, get_offset_for_line(4))
|
||||
eq(29, get_offset(5))
|
||||
|
||||
command("set hidden")
|
||||
command("enew")
|
||||
eq(6, bufmeths.get_offset_for_line(1,1))
|
||||
eq(6, bufmeths.get_offset(1,1))
|
||||
command("bunload! 1")
|
||||
eq(-1, bufmeths.get_offset_for_line(1,1))
|
||||
eq(-1, bufmeths.get_offset(1,1))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
Reference in New Issue
Block a user