Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: nvim_buf_attach response after initial delay #8672

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions test/functional/api/buffer_updates_spec.lua
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
local helpers = require('test.functional.helpers')(after_each)
local clear = helpers.clear
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 nvim_prog = helpers.nvim_prog
local sleep = helpers.sleep
local write_file = helpers.write_file

local origlines = {"original line 1",
Expand Down Expand Up @@ -51,7 +53,7 @@ local function editoriginal(activate, lines)
lines = origlines
end
-- load up the file with the correct contents
helpers.clear()
clear()
return open(activate, lines)
end

Expand Down Expand Up @@ -435,8 +437,7 @@ describe('API: buffer events:', function()
expectn('nvim_buf_changedtick_event', {b3, tick3})
end)

it('does not get confused if enabled/disabled many times',
function()
it('does not get confused if enabled/disabled many times', function()
local channel = nvim('get_api_info')[1]
local b, tick = editoriginal(false)

Expand All @@ -462,7 +463,7 @@ describe('API: buffer events:', function()
end)

it('can notify several channels at once', function()
helpers.clear()
clear()

-- create several new sessions, in addition to our main API
local sessions = {}
Expand All @@ -482,7 +483,7 @@ describe('API: buffer events:', function()

local function wantn(sessionid, name, args)
local session = sessions[sessionid]
eq({'notification', name, args}, session:next_message())
eq({'notification', name, args}, session:next_message(10000))
end

-- Edit a new file, but don't enable buffer events.
Expand Down Expand Up @@ -710,10 +711,9 @@ describe('API: buffer events:', function()
expectn('nvim_buf_lines_event', {b, tick, 0, 1, {'AA'}, false})
end)

it('detaches if the buffer is unloaded/deleted/wiped',
function()
it('detaches if the buffer is unloaded/deleted/wiped', function()
-- start with a blank nvim
helpers.clear()
clear()
-- need to make a new window with a buffer because :bunload doesn't let you
-- unload the last buffer
for _, cmd in ipairs({'bunload', 'bdelete', 'bwipeout'}) do
Expand All @@ -729,23 +729,36 @@ describe('API: buffer events:', function()
end)

it('does not send the buffer content if not requested', function()
helpers.clear()
clear()
local b, tick = editoriginal(false)
ok(buffer('attach', b, false, {}))
expectn('nvim_buf_changedtick_event', {b, tick})
end)

it('returns a proper error on nonempty options dict', function()
helpers.clear()
clear()
local b = editoriginal(false)
expect_err("dict isn't empty", buffer, 'attach', b, false, {builtin="asfd"})
end)

it('nvim_buf_attach returns response after delay #8634', function()
clear()
sleep(250)
-- response
eq(true, helpers.request('nvim_buf_attach', 0, false, {}))
-- notification
eq({
[1] = 'notification',
[2] = 'nvim_buf_changedtick_event',
[3] = {
[1] = { id = 1 },
[2] = 2 }, }, next_msg())
end)
end)

describe('API: buffer events:', function()
before_each(function()
helpers.clear()
clear()
end)

local function lines_subset(first, second)
Expand Down