mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 03:48:18 +00:00

https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606 > If you really want to use bleeding-edge version you should get the > rockspec from master branch, not a fixed commit ... > The correct way to install from a specific commit is cloning that > commit and running "luarocks make" from project directory. The reason > is that running "install" or "build" on an scm rockspec fetches > sources from master but uses build description from the rockspec > itself, which may be outdated.
37 lines
1.3 KiB
Lua
37 lines
1.3 KiB
Lua
local helpers = require('test.functional.helpers')(after_each)
|
|
local clear, meths, funcs, eq =
|
|
helpers.clear, helpers.meths, helpers.funcs, helpers.eq
|
|
|
|
describe('history support code', function()
|
|
before_each(clear)
|
|
|
|
it('correctly clears start of the history', function()
|
|
-- Regression test: check absense of the memory leak when clearing start of
|
|
-- the history using ex_getln.c/clr_history().
|
|
eq(1, funcs.histadd(':', 'foo'))
|
|
eq(1, funcs.histdel(':'))
|
|
eq('', funcs.histget(':', -1))
|
|
end)
|
|
|
|
it('correctly clears end of the history', function()
|
|
-- Regression test: check absense of the memory leak when clearing end of
|
|
-- the history using ex_getln.c/clr_history().
|
|
meths.set_option('history', 1)
|
|
eq(1, funcs.histadd(':', 'foo'))
|
|
eq(1, funcs.histdel(':'))
|
|
eq('', funcs.histget(':', -1))
|
|
end)
|
|
|
|
it('correctly removes item from history', function()
|
|
-- Regression test: check that ex_getln.c/del_history_idx() correctly clears
|
|
-- history index after removing history entry. If it does not then deleting
|
|
-- history will result in a double free.
|
|
eq(1, funcs.histadd(':', 'foo'))
|
|
eq(1, funcs.histadd(':', 'bar'))
|
|
eq(1, funcs.histadd(':', 'baz'))
|
|
eq(1, funcs.histdel(':', -2))
|
|
eq(1, funcs.histdel(':'))
|
|
eq('', funcs.histget(':', -1))
|
|
end)
|
|
end)
|