aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/timer_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/vimscript/timer_spec.lua')
-rw-r--r--test/functional/vimscript/timer_spec.lua110
1 files changed, 54 insertions, 56 deletions
diff --git a/test/functional/vimscript/timer_spec.lua b/test/functional/vimscript/timer_spec.lua
index a58cd6ae7f..046d451888 100644
--- a/test/functional/vimscript/timer_spec.lua
+++ b/test/functional/vimscript/timer_spec.lua
@@ -1,10 +1,10 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local feed, eq, eval, ok = helpers.feed, helpers.eq, helpers.eval, helpers.ok
-local source, nvim_async, run = helpers.source, helpers.nvim_async, helpers.run
-local clear, command, funcs = helpers.clear, helpers.command, helpers.funcs
+local source, async_meths, run = helpers.source, helpers.async_meths, helpers.run
+local clear, command, fn = helpers.clear, helpers.command, helpers.fn
local exc_exec = helpers.exc_exec
-local curbufmeths = helpers.curbufmeths
+local api = helpers.api
local load_adjust = helpers.load_adjust
local retry = helpers.retry
@@ -22,20 +22,20 @@ describe('timers', function()
it('works one-shot', function()
eq(0, eval("[timer_start(10, 'MyHandler'), g:val][1]"))
run(nil, nil, nil, load_adjust(100))
- eq(1,eval("g:val"))
+ eq(1, eval('g:val'))
end)
it('works one-shot when repeat=0', function()
eq(0, eval("[timer_start(10, 'MyHandler', {'repeat': 0}), g:val][1]"))
run(nil, nil, nil, load_adjust(100))
- eq(1, eval("g:val"))
+ eq(1, eval('g:val'))
end)
it('works with repeat two', function()
eq(0, eval("[timer_start(10, 'MyHandler', {'repeat': 2}), g:val][1]"))
run(nil, nil, nil, load_adjust(20))
retry(nil, load_adjust(300), function()
- eq(2, eval("g:val"))
+ eq(2, eval('g:val'))
end)
end)
@@ -52,12 +52,12 @@ describe('timers', function()
endfunc
]])
eval("timer_start(10, 'MyHandler', {'repeat': -1})")
- nvim_async("command", "sleep 10")
- eq(-1, eval("g:val")) -- timer did nothing yet.
- nvim_async("command", "let g:val = 0")
+ async_meths.nvim_command('sleep 10')
+ eq(-1, eval('g:val')) -- timer did nothing yet.
+ async_meths.nvim_command('let g:val = 0')
run(nil, nil, nil, load_adjust(20))
retry(nil, nil, function()
- eq(2, eval("g:val"))
+ eq(2, eval('g:val'))
end)
end)
@@ -65,52 +65,53 @@ describe('timers', function()
-- timer_start does still not invoke the callback immediately
eq(0, eval("[timer_start(0, 'MyHandler', {'repeat': 1000}), g:val][1]"))
retry(nil, nil, function()
- eq(1000, eval("g:val"))
+ eq(1000, eval('g:val'))
end)
end)
it('can be started during sleep', function()
- nvim_async("command", "sleep 10")
+ async_meths.nvim_command('sleep 10')
-- this also tests that remote requests works during sleep
eq(0, eval("[timer_start(10, 'MyHandler', {'repeat': 2}), g:val][1]"))
run(nil, nil, nil, load_adjust(20))
- retry(nil, load_adjust(300), function() eq(2,eval("g:val")) end)
+ retry(nil, load_adjust(300), function()
+ eq(2, eval('g:val'))
+ end)
end)
it('are paused when event processing is disabled', function()
command("call timer_start(5, 'MyHandler', {'repeat': -1})")
run(nil, nil, nil, load_adjust(10))
- local count = eval("g:val")
+ local count = eval('g:val')
-- shows two line error message and thus invokes the return prompt.
-- if we start to allow event processing here, we need to change this test.
feed(':throw "fatal error"<CR>')
run(nil, nil, nil, load_adjust(30))
- feed("<cr>")
- local diff = eval("g:val") - count
- assert(0 <= diff and diff <= 4,
- 'expected (0 <= diff <= 4), got: '..tostring(diff))
+ feed('<cr>')
+ local diff = eval('g:val') - count
+ assert(0 <= diff and diff <= 4, 'expected (0 <= diff <= 4), got: ' .. tostring(diff))
end)
it('are triggered in blocking getchar() call', function()
command("call timer_start(5, 'MyHandler', {'repeat': -1})")
- nvim_async("command", "let g:val = 0 | let g:c = getchar()")
+ async_meths.nvim_command('let g:val = 0 | let g:c = getchar()')
retry(nil, nil, function()
- local val = eval("g:val")
+ local val = eval('g:val')
ok(val >= 2, '>= 2', tostring(val))
- eq(0, eval("getchar(1)"))
+ eq(0, eval('getchar(1)'))
end)
- feed("c")
- eq(99, eval("g:c"))
+ feed('c')
+ eq(99, eval('g:c'))
end)
it('can invoke redraw in blocking getchar() call', function()
local screen = Screen.new(40, 6)
screen:attach()
screen:set_default_attr_ids({
- [1] = {bold=true, foreground=Screen.colors.Blue},
+ [1] = { bold = true, foreground = Screen.colors.Blue },
})
- curbufmeths.set_lines(0, -1, true, {"ITEM 1", "ITEM 2"})
+ api.nvim_buf_set_lines(0, 0, -1, true, { 'ITEM 1', 'ITEM 2' })
source([[
let g:cont = 0
func! AddItem(timer)
@@ -127,48 +128,49 @@ describe('timers', function()
redraw
endfunc
]])
- nvim_async("command", "let g:c2 = getchar()")
- nvim_async("command", "call timer_start("..load_adjust(100)..", 'AddItem', {'repeat': -1})")
+ async_meths.nvim_command('let g:c2 = getchar()')
+ async_meths.nvim_command(
+ 'call timer_start(' .. load_adjust(100) .. ", 'AddItem', {'repeat': -1})"
+ )
screen:expect([[
^ITEM 1 |
ITEM 2 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
|
]])
- nvim_async("command", "let g:cont = 1")
+ async_meths.nvim_command('let g:cont = 1')
screen:expect([[
^ITEM 1 |
ITEM 2 |
ITEM 3 |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
]])
- feed("3")
- eq(51, eval("g:c2"))
- screen:expect{grid=[[
+ feed('3')
+ eq(51, eval('g:c2'))
+ screen:expect {
+ grid = [[
^ITEM 1 |
ITEM 2 |
ITEM 3 |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
- ]], unchanged=true}
+ ]],
+ unchanged = true,
+ }
end)
it('can be stopped', function()
local t_init_val = eval("[timer_start(5, 'MyHandler', {'repeat': -1}), g:val]")
eq(0, t_init_val[2])
run(nil, nil, nil, load_adjust(30))
- funcs.timer_stop(t_init_val[1])
- local count = eval("g:val")
+ fn.timer_stop(t_init_val[1])
+ local count = eval('g:val')
run(nil, load_adjust(300), nil, load_adjust(30))
- local count2 = eval("g:val")
+ local count2 = eval('g:val')
-- when count is eval:ed after timer_stop this should be non-racy
eq(count, count2)
end)
@@ -184,10 +186,10 @@ describe('timers', function()
endif
endfunc
]])
- eq(0, eval("g:val"))
+ eq(0, eval('g:val'))
command("call timer_start(10, 'MyHandler', {'repeat': -1})")
retry(nil, nil, function()
- eq(3, eval("g:val"))
+ eq(3, eval('g:val'))
end)
end)
@@ -201,8 +203,8 @@ describe('timers', function()
command("call timer_start(2, 'MyHandler', {'repeat': 3})")
command("call timer_start(4, 'MyHandler2', {'repeat': 2})")
retry(nil, nil, function()
- eq(3, eval("g:val"))
- eq(2, eval("g:val2"))
+ eq(3, eval('g:val'))
+ eq(2, eval('g:val2'))
end)
end)
@@ -218,15 +220,14 @@ describe('timers', function()
command("call timer_start(5, 'MyHandler', {'repeat': 1})")
run(nil, nil, nil, load_adjust(20))
retry(nil, load_adjust(150), function()
- eq(1, eval("g:val"))
+ eq(1, eval('g:val'))
end)
end)
-
it("doesn't mess up the cmdline", function()
local screen = Screen.new(40, 6)
screen:attach()
- screen:set_default_attr_ids( {[0] = {bold=true, foreground=255}} )
+ screen:set_default_attr_ids({ [0] = { bold = true, foreground = 255 } })
source([[
let g:val = 0
func! MyHandler(timer)
@@ -241,13 +242,10 @@ describe('timers', function()
endfunc
]])
command("call timer_start(100, 'MyHandler', {'repeat': -1})")
- feed(":good")
+ feed(':good')
screen:expect([[
|
- {0:~ }|
- {0:~ }|
- {0:~ }|
- {0:~ }|
+ {0:~ }|*4
:good^ |
]])
command('let g:val = 1')
@@ -262,7 +260,7 @@ describe('timers', function()
call execute('echo ''execute() should be disallowed''', '')
endfunction
]]
- eq("Vim(call):E48: Not allowed in sandbox", exc_exec("sandbox call timer_start(0, 'Scary')"))
+ eq('Vim(call):E48: Not allowed in sandbox', exc_exec("sandbox call timer_start(0, 'Scary')"))
end)
it('can be triggered after an empty string <expr> mapping #17257', function()
@@ -270,6 +268,6 @@ describe('timers', function()
screen:attach()
command([=[imap <expr> <F2> [timer_start(0, { _ -> execute("throw 'x'", "") }), ''][-1]]=])
feed('i<F2>')
- screen:expect({any='E605: Exception not caught: x'})
+ screen:expect({ any = 'E605: Exception not caught: x' })
end)
end)