mirror of
https://github.com/neovim/neovim.git
synced 2025-01-02 17:33:28 -07:00
1162962d8b
- Remove unused variables. - Do not use helpers.nvim_feed in most cases. - Do not use helpers.nvim and helpers.nvim_eval at all. - Add helpers.funcs and helpers.\*meths special tables. Indexing such table creates functions which call helpers.call or helpers.nvim (and similar) with first argument equal to table index.
37 lines
1.3 KiB
Lua
37 lines
1.3 KiB
Lua
local helpers = require('test.functional.helpers')
|
|
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)
|