mirror of
https://github.com/neovim/neovim.git
synced 2026-01-04 10:26:42 +10:00
fix(tabpage): correct check for failure to close window
Avoid closing window 999 times.
This commit is contained in:
@@ -3,8 +3,10 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local clear = helpers.clear
|
||||
local command = helpers.command
|
||||
local eq = helpers.eq
|
||||
local neq = helpers.neq
|
||||
local feed = helpers.feed
|
||||
local eval = helpers.eval
|
||||
local exec = helpers.exec
|
||||
|
||||
describe('tabpage', function()
|
||||
before_each(clear)
|
||||
@@ -34,5 +36,20 @@ describe('tabpage', function()
|
||||
|
||||
eq(3, eval('tabpagenr()'))
|
||||
end)
|
||||
|
||||
it('does not crash or loop 999 times if BufWipeout autocommand switches window #17868', function()
|
||||
exec([[
|
||||
tabedit
|
||||
let s:window_id = win_getid()
|
||||
botright new
|
||||
setlocal bufhidden=wipe
|
||||
let g:win_closed = 0
|
||||
autocmd WinClosed * let g:win_closed += 1
|
||||
autocmd BufWipeout <buffer> call win_gotoid(s:window_id)
|
||||
tabprevious
|
||||
+tabclose
|
||||
]])
|
||||
neq(999, eval('g:win_closed'))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user