winfixbuf_spec.lua (1416B)
1 local n = require('test.functional.testnvim')() 2 local t = require('test.testutil') 3 4 local clear = n.clear 5 local exec_lua = n.exec_lua 6 7 describe("'winfixbuf'", function() 8 before_each(function() 9 clear() 10 end) 11 12 ---@return integer 13 local function setup_winfixbuf() 14 return exec_lua([[ 15 local buffer = vim.api.nvim_create_buf(true, true) 16 vim.api.nvim_create_buf(true, true) -- Make another buffer 17 vim.wo.winfixbuf = true 18 return buffer 19 ]]) 20 end 21 22 it('nvim_win_set_buf on non-current buffer', function() 23 local other_buf = setup_winfixbuf() 24 t.eq( 25 "Vim:E1513: Cannot switch buffer. 'winfixbuf' is enabled", 26 t.pcall_err(n.api.nvim_win_set_buf, 0, other_buf) 27 ) 28 end) 29 30 it('nvim_set_current_buf on non-current buffer', function() 31 local other_buf = setup_winfixbuf() 32 t.eq( 33 "Vim:E1513: Cannot switch buffer. 'winfixbuf' is enabled", 34 t.pcall_err(n.api.nvim_set_current_buf, other_buf) 35 ) 36 end) 37 38 it('nvim_win_set_buf on current buffer', function() 39 setup_winfixbuf() 40 local curbuf = n.api.nvim_get_current_buf() 41 n.api.nvim_win_set_buf(0, curbuf) 42 t.eq(curbuf, n.api.nvim_get_current_buf()) 43 end) 44 45 it('nvim_set_current_buf on current buffer', function() 46 setup_winfixbuf() 47 local curbuf = n.api.nvim_get_current_buf() 48 n.api.nvim_set_current_buf(curbuf) 49 t.eq(curbuf, n.api.nvim_get_current_buf()) 50 end) 51 end)