aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/api')
-rw-r--r--test/functional/api/buffer_updates_spec.lua79
-rw-r--r--test/functional/api/highlight_spec.lua2
-rw-r--r--test/functional/api/rpc_fixture.lua2
-rw-r--r--test/functional/api/server_requests_spec.lua2
-rw-r--r--test/functional/api/vim_spec.lua17
5 files changed, 56 insertions, 46 deletions
diff --git a/test/functional/api/buffer_updates_spec.lua b/test/functional/api/buffer_updates_spec.lua
index 00409c1528..6da790b871 100644
--- a/test/functional/api/buffer_updates_spec.lua
+++ b/test/functional/api/buffer_updates_spec.lua
@@ -3,6 +3,7 @@ local eq, ok = helpers.eq, helpers.ok
local buffer, command, eval, nvim, next_msg = helpers.buffer,
helpers.command, helpers.eval, helpers.nvim, helpers.next_msg
local expect_err = helpers.expect_err
+local write_file = helpers.write_file
local origlines = {"original line 1",
"original line 2",
@@ -18,7 +19,7 @@ end
local function sendkeys(keys)
nvim('input', keys)
- -- give neovim some time to process msgpack requests before possibly sending
+ -- give nvim some time to process msgpack requests before possibly sending
-- more key presses - otherwise they all pile up in the queue and get
-- processed at once
local ntime = os.clock() + 0.1
@@ -27,14 +28,14 @@ end
local function open(activate, lines)
local filename = helpers.tmpname()
- helpers.write_file(filename, table.concat(lines, "\n").."\n", true)
+ write_file(filename, table.concat(lines, "\n").."\n", true)
command('edit ' .. filename)
local b = nvim('get_current_buf')
-- what is the value of b:changedtick?
local tick = eval('b:changedtick')
- -- turn on live updates, ensure that the nvim_buf_lines_event messages
- -- arrive as expectected
+ -- Enable buffer events, ensure that the nvim_buf_lines_event messages
+ -- arrive as expected
if activate then
local firstline = 0
ok(buffer('attach', b, true, {}))
@@ -91,8 +92,8 @@ local function reopenwithfolds(b)
return tick
end
-describe('buffer events', function()
- it('when you add line to a buffer', function()
+describe('API: buffer events:', function()
+ it('when lines are added', function()
local b, tick = editoriginal(true)
-- add a new line at the start of the buffer
@@ -156,7 +157,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b, tick, 29, 29, firstfour, false})
-- create a new empty buffer and wipe out the old one ... this will
- -- turn off live updates
+ -- turn off buffer events
command('enew!')
expectn('nvim_buf_detach_event', {b})
@@ -170,7 +171,7 @@ describe('buffer events', function()
tick = tick + 1
expectn('nvim_buf_lines_event', {b2, tick, 0, 0, {'new line 1'}, false})
- -- turn off live updates manually
+ -- turn off buffer events manually
buffer('detach', b2)
expectn('nvim_buf_detach_event', {b2})
@@ -192,7 +193,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b3, tick, 0, 0, {"New First Line"}, false})
end)
- it('knows when you remove lines from a buffer', function()
+ it('when lines are removed', function()
local b, tick = editoriginal(true)
-- remove one line from start of file
@@ -231,7 +232,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b, tick, 4, 6, {}, false})
end)
- it('knows when you modify lines of text', function()
+ it('when text is changed', function()
local b, tick = editoriginal(true)
-- some normal text editing
@@ -286,7 +287,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {bnew, tick + 7, 1, 2, {'world'}, false})
end)
- it('knows when you replace lines', function()
+ it('when lines are replaced', function()
local b, tick = editoriginal(true)
-- blast away parts of some lines with visual mode
@@ -311,7 +312,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b, tick, 3, 4, {}, false})
end)
- it('knows when you filter lines', function()
+ it('when lines are filtered', function()
-- Test filtering lines with !cat
local b, tick = editoriginal(true, {"A", "C", "E", "B", "D", "F"})
@@ -325,7 +326,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b, tick, 1, 5, {}, false})
end)
- it('sends a sensible event when you use "o"', function()
+ it('when you use "o"', function()
local b, tick = editoriginal(true, {'AAA', 'BBB'})
command('set noautoindent nosmartindent')
@@ -365,7 +366,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b, tick, 0, 1, {"\tmmm"}, false})
end)
- it('deactivates when your buffer changes outside vim', function()
+ it('deactivates if the buffer is changed externally', function()
-- Test changing file from outside vim and reloading using :edit
local lines = {"Line 1", "Line 2"};
local b, tick, filename = editoriginal(true, lines)
@@ -380,17 +381,14 @@ describe('buffer events', function()
expectn('nvim_buf_changedtick_event', {b, tick})
-- change the file directly
- local f = io.open(filename, 'a')
- f:write("another line\n")
- f:flush()
- f:close()
+ write_file(filename, "another line\n", true, true)
- -- reopen the file and watch live updates shut down
+ -- reopen the file and watch buffer events shut down
command('edit')
expectn('nvim_buf_detach_event', {b})
end)
- it('allows a channel to watch multiple buffers at once', function()
+ it('channel can watch many buffers at once', function()
-- edit 3 buffers, make sure they all have windows visible so that when we
-- move between buffers, none of them are unloaded
local b1, tick1 = editoriginal(true, {'A1', 'A2'})
@@ -436,12 +434,12 @@ describe('buffer events', function()
expectn('nvim_buf_changedtick_event', {b3, tick3})
end)
- it('doesn\'t get confused when you turn watching on/off many times',
+ it('does not get confused if enabled/disabled many times',
function()
local channel = nvim('get_api_info')[1]
local b, tick = editoriginal(false)
- -- turn on live updates many times
+ -- Enable buffer events many times.
ok(buffer('attach', b, true, {}))
ok(buffer('attach', b, true, {}))
ok(buffer('attach', b, true, {}))
@@ -451,7 +449,7 @@ describe('buffer events', function()
eval('rpcnotify('..channel..', "Hello There")')
expectn('Hello There', {})
- -- turn live updates off many times
+ -- Disable buffer events many times.
ok(buffer('detach', b))
ok(buffer('detach', b))
ok(buffer('detach', b))
@@ -462,7 +460,7 @@ describe('buffer events', function()
expectn('Hello Again', {})
end)
- it('is able to notify several channels at once', function()
+ it('can notify several channels at once', function()
helpers.clear()
-- create several new sessions, in addition to our main API
@@ -486,11 +484,11 @@ describe('buffer events', function()
eq({'notification', name, args}, session:next_message())
end
- -- edit a new file, but don't turn on live updates
+ -- Edit a new file, but don't enable buffer events.
local lines = {'AAA', 'BBB'}
local b, tick = open(false, lines)
- -- turn on live updates for sessions 1, 2 and 3
+ -- Enable buffer events for sessions 1, 2 and 3.
ok(request(1, 'nvim_buf_attach', b, true, {}))
ok(request(2, 'nvim_buf_attach', b, true, {}))
ok(request(3, 'nvim_buf_attach', b, true, {}))
@@ -498,18 +496,18 @@ describe('buffer events', function()
wantn(2, 'nvim_buf_lines_event', {b, tick, 0, -1, lines, false})
wantn(3, 'nvim_buf_lines_event', {b, tick, 0, -1, lines, false})
- -- make a change to the buffer
+ -- Change the buffer.
command('normal! x')
tick = tick + 1
wantn(1, 'nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
wantn(2, 'nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
wantn(3, 'nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
- -- stop watching on channel 1
+ -- Stop watching on channel 1.
ok(request(1, 'nvim_buf_detach', b))
wantn(1, 'nvim_buf_detach_event', {b})
- -- undo the change to buffer 1
+ -- Undo the change to buffer 1.
command('undo')
tick = tick + 1
wantn(2, 'nvim_buf_lines_event', {b, tick, 0, 1, {'AAA'}, false})
@@ -612,7 +610,7 @@ describe('buffer events', function()
expectn('nvim_buf_lines_event', {b, tick, 5, 7, {}, false})
end)
- it('sends sensible events when you manually add/remove folds', function()
+ it('when you manually add/remove folds', function()
local b = editoriginal(true)
local tick = reopenwithfolds(b)
@@ -656,11 +654,11 @@ describe('buffer events', function()
'original line 6'}, false})
end)
- it('turns off updates when a buffer is closed', function()
+ it('detaches if the buffer is closed', function()
local b, tick = editoriginal(true, {'AAA'})
local channel = nvim('get_api_info')[1]
- -- test live updates are working
+ -- Test that buffer events are working.
command('normal! x')
tick = tick + 1
expectn('nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
@@ -674,7 +672,7 @@ describe('buffer events', function()
command('enew')
expectn('nvim_buf_detach_event', {b})
- -- reopen the original buffer, make sure there are no Live Updates sent
+ -- Reopen the original buffer, make sure there are no buffer events sent.
command('b1')
command('normal! x')
@@ -682,12 +680,11 @@ describe('buffer events', function()
expectn('Hello There', {})
end)
- -- test what happens when a buffer is hidden
- it('keeps updates turned on if the buffer is hidden', function()
+ it('stays attached if the buffer is hidden', function()
local b, tick = editoriginal(true, {'AAA'})
local channel = nvim('get_api_info')[1]
- -- test live updates are working
+ -- Test that buffer events are working.
command('normal! x')
tick = tick + 1
expectn('nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
@@ -697,22 +694,22 @@ describe('buffer events', function()
tick = tick + 1
expectn('nvim_buf_changedtick_event', {b, tick})
- -- close our buffer by creating a new one
+ -- Close our buffer by creating a new one.
command('set hidden')
command('enew')
- -- note that no nvim_buf_detach_event is sent
+ -- Assert that no nvim_buf_detach_event is sent.
eval('rpcnotify('..channel..', "Hello There")')
expectn('Hello There', {})
- -- reopen the original buffer, make sure Live Updates are still active
+ -- Reopen the original buffer, assert that buffer events are still active.
command('b1')
command('normal! x')
tick = tick + 1
expectn('nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
end)
- it('turns off live updates when a buffer is unloaded, deleted, or wiped',
+ it('detaches if the buffer is unloaded/deleted/wiped',
function()
-- start with a blank nvim
helpers.clear()
@@ -730,7 +727,7 @@ describe('buffer events', function()
end
end)
- it('doesn\'t send the buffer\'s content when not requested', function()
+ it('does not send the buffer content if not requested', function()
helpers.clear()
local b, tick = editoriginal(false)
ok(buffer('attach', b, false, {}))
diff --git a/test/functional/api/highlight_spec.lua b/test/functional/api/highlight_spec.lua
index fed53a3dfd..76bf338d97 100644
--- a/test/functional/api/highlight_spec.lua
+++ b/test/functional/api/highlight_spec.lua
@@ -5,7 +5,7 @@ local eq, eval = helpers.eq, helpers.eval
local command = helpers.command
local meths = helpers.meths
-describe('highlight api',function()
+describe('API: highlight',function()
local expected_rgb = {
background = Screen.colors.Yellow,
foreground = Screen.colors.Red,
diff --git a/test/functional/api/rpc_fixture.lua b/test/functional/api/rpc_fixture.lua
index 423864740f..e885a525af 100644
--- a/test/functional/api/rpc_fixture.lua
+++ b/test/functional/api/rpc_fixture.lua
@@ -31,7 +31,7 @@ end
local function on_notification(event, args)
if event == 'ping' and #args == 0 then
- session:notify("vim_eval", "rpcnotify(g:channel, 'pong')")
+ session:notify("nvim_eval", "rpcnotify(g:channel, 'pong')")
end
end
diff --git a/test/functional/api/server_requests_spec.lua b/test/functional/api/server_requests_spec.lua
index e79a60fb10..856e5ca4d2 100644
--- a/test/functional/api/server_requests_spec.lua
+++ b/test/functional/api/server_requests_spec.lua
@@ -222,7 +222,7 @@ describe('server -> client', function()
end)
it('returns an error if the request failed', function()
- expect_err('Vim:Invalid method name',
+ expect_err('Vim:Invalid method: does%-not%-exist',
eval, "rpcrequest(vim, 'does-not-exist')")
end)
end)
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 1e910b6aa7..e4b343c123 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -20,9 +20,20 @@ local format_string = global_helpers.format_string
local intchar2lua = global_helpers.intchar2lua
local mergedicts_copy = global_helpers.mergedicts_copy
-describe('api', function()
+describe('API', function()
before_each(clear)
+ it('validates requests', function()
+ expect_err('Invalid method: bogus',
+ request, 'bogus')
+ expect_err('Invalid method: … の り 。…',
+ request, '… の り 。…')
+ expect_err('Invalid method: <empty>',
+ request, '')
+ expect_err("can't serialize object",
+ request, nil)
+ end)
+
describe('nvim_command', function()
it('works', function()
local fname = helpers.tmpname()
@@ -924,7 +935,7 @@ describe('api', function()
{'i_am_not_a_method', {'xx'}},
{'nvim_set_var', {'avar', 10}},
}
- eq({{}, {0, error_types.Exception.id, 'Invalid method name'}},
+ eq({{}, {0, error_types.Exception.id, 'Invalid method: i_am_not_a_method'}},
meths.call_atomic(req))
eq(5, meths.get_var('avar'))
end)
@@ -1226,6 +1237,7 @@ describe('api', function()
screen:attach()
local expected = {
{
+ chan = 1,
ext_cmdline = false,
ext_popupmenu = false,
ext_tabline = false,
@@ -1242,6 +1254,7 @@ describe('api', function()
screen:attach({ rgb = false })
expected = {
{
+ chan = 1,
ext_cmdline = false,
ext_popupmenu = false,
ext_tabline = false,