aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-02-12 13:29:48 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-02-16 23:17:38 -0300
commite6208df73e39e281331141373c22a83bca6beccd (patch)
treed980d8b69b1bc9af026bb35070c91e0bbe361638
parentaf46564dd6e7e709f269f041f749dc312d9c3773 (diff)
downloadrneovim-e6208df73e39e281331141373c22a83bca6beccd.tar.gz
rneovim-e6208df73e39e281331141373c22a83bca6beccd.tar.bz2
rneovim-e6208df73e39e281331141373c22a83bca6beccd.zip
test: Add synchronization helper for functional tests
The `wait` function will only return after all input has been processed by nvim. It is useful to time assertions correctly.
-rw-r--r--test/functional/helpers.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index ea98ff4ce3..fc6bf80d7e 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -229,11 +229,15 @@ local function curbuf(method, ...)
return buffer(method, buf, ...)
end
+local function wait()
+ session:request('vim_eval', '1')
+end
+
local function curbuf_contents()
-- Before inspecting the buffer, execute 'vim_eval' to wait until all
-- previously sent keys are processed(vim_eval is a deferred function, and
-- only processed after all input)
- session:request('vim_eval', '1')
+ wait()
return table.concat(curbuf('get_line_slice', 0, -1, true, true), '\n')
end
@@ -284,5 +288,6 @@ return {
curbuf = curbuf,
curwin = curwin,
curtab = curtab,
- curbuf_contents = curbuf_contents
+ curbuf_contents = curbuf_contents,
+ wait = wait
}