aboutsummaryrefslogtreecommitdiff
path: root/test/functional/options/winfixbuf_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/options/winfixbuf_spec.lua')
-rw-r--r--test/functional/options/winfixbuf_spec.lua88
1 files changed, 33 insertions, 55 deletions
diff --git a/test/functional/options/winfixbuf_spec.lua b/test/functional/options/winfixbuf_spec.lua
index 5bed2fc72f..a01650ea71 100644
--- a/test/functional/options/winfixbuf_spec.lua
+++ b/test/functional/options/winfixbuf_spec.lua
@@ -1,73 +1,51 @@
local n = require('test.functional.testnvim')()
+local t = require('test.testutil')
local clear = n.clear
local exec_lua = n.exec_lua
-describe("Nvim API calls with 'winfixbuf'", function()
+describe("'winfixbuf'", function()
before_each(function()
clear()
end)
- it('vim.api.nvim_win_set_buf on non-current buffer', function()
- local ok = exec_lua([[
- local function _setup_two_buffers()
- local buffer = vim.api.nvim_create_buf(true, true)
-
- vim.api.nvim_create_buf(true, true) -- Make another buffer
-
- local current_window = 0
- vim.api.nvim_set_option_value("winfixbuf", true, {win=current_window})
-
- return buffer
- end
-
- local other_buffer = _setup_two_buffers()
- local current_window = 0
- local ok, _ = pcall(vim.api.nvim_win_set_buf, current_window, other_buffer)
-
- return ok
+ ---@return integer
+ local function setup_winfixbuf()
+ return exec_lua([[
+ local buffer = vim.api.nvim_create_buf(true, true)
+ vim.api.nvim_create_buf(true, true) -- Make another buffer
+ vim.wo.winfixbuf = true
+ return buffer
]])
-
- assert(not ok)
+ end
+
+ it('nvim_win_set_buf on non-current buffer', function()
+ local other_buf = setup_winfixbuf()
+ t.eq(
+ "Vim:E1513: Cannot switch buffer. 'winfixbuf' is enabled",
+ t.pcall_err(n.api.nvim_win_set_buf, 0, other_buf)
+ )
end)
- it('vim.api.nvim_set_current_buf on non-current buffer', function()
- local ok = exec_lua([[
- local function _setup_two_buffers()
- local buffer = vim.api.nvim_create_buf(true, true)
-
- vim.api.nvim_create_buf(true, true) -- Make another buffer
-
- local current_window = 0
- vim.api.nvim_set_option_value("winfixbuf", true, {win=current_window})
-
- return buffer
- end
-
- local other_buffer = _setup_two_buffers()
- local ok, _ = pcall(vim.api.nvim_set_current_buf, other_buffer)
-
- return ok
- ]])
-
- assert(not ok)
+ it('nvim_set_current_buf on non-current buffer', function()
+ local other_buf = setup_winfixbuf()
+ t.eq(
+ "Vim:E1513: Cannot switch buffer. 'winfixbuf' is enabled",
+ t.pcall_err(n.api.nvim_set_current_buf, other_buf)
+ )
end)
- it('vim.api.nvim_win_set_buf on current buffer', function()
- exec_lua([[
- vim.wo.winfixbuf = true
- local curbuf = vim.api.nvim_get_current_buf()
- vim.api.nvim_win_set_buf(0, curbuf)
- assert(vim.api.nvim_get_current_buf() == curbuf)
- ]])
+ it('nvim_win_set_buf on current buffer', function()
+ setup_winfixbuf()
+ local curbuf = n.api.nvim_get_current_buf()
+ n.api.nvim_win_set_buf(0, curbuf)
+ t.eq(curbuf, n.api.nvim_get_current_buf())
end)
- it('vim.api.nvim_set_current_buf on current buffer', function()
- exec_lua([[
- vim.wo.winfixbuf = true
- local curbuf = vim.api.nvim_get_current_buf()
- vim.api.nvim_set_current_buf(curbuf)
- assert(vim.api.nvim_get_current_buf() == curbuf)
- ]])
+ it('nvim_set_current_buf on current buffer', function()
+ setup_winfixbuf()
+ local curbuf = n.api.nvim_get_current_buf()
+ n.api.nvim_set_current_buf(curbuf)
+ t.eq(curbuf, n.api.nvim_get_current_buf())
end)
end)