mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(api): error properly with invalid field in nvim_open_win (#30078)
This commit is contained in:
parent
b0a042e877
commit
cce1eb0806
@ -1038,7 +1038,7 @@ static void parse_border_style(Object style, WinConfig *fconfig, Error *err)
|
|||||||
|
|
||||||
static void generate_api_error(win_T *wp, const char *attribute, Error *err)
|
static void generate_api_error(win_T *wp, const char *attribute, Error *err)
|
||||||
{
|
{
|
||||||
if (wp->w_floating) {
|
if (wp != NULL && wp->w_floating) {
|
||||||
api_set_error(err, kErrorTypeValidation,
|
api_set_error(err, kErrorTypeValidation,
|
||||||
"Missing 'relative' field when reconfiguring floating window %d",
|
"Missing 'relative' field when reconfiguring floating window %d",
|
||||||
wp->handle);
|
wp->handle);
|
||||||
|
@ -327,6 +327,35 @@ describe('float window', function()
|
|||||||
eq(12, pos[2])
|
eq(12, pos[2])
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('error message when invalid field specified for split', function()
|
||||||
|
local bufnr = api.nvim_create_buf(false, true)
|
||||||
|
eq(
|
||||||
|
"non-float cannot have 'row'",
|
||||||
|
pcall_err(api.nvim_open_win, bufnr, true, { split = 'right', row = 10 })
|
||||||
|
)
|
||||||
|
eq(
|
||||||
|
"non-float cannot have 'col'",
|
||||||
|
pcall_err(api.nvim_open_win, bufnr, true, { split = 'right', col = 10 })
|
||||||
|
)
|
||||||
|
eq(
|
||||||
|
"non-float cannot have 'bufpos'",
|
||||||
|
pcall_err(api.nvim_open_win, bufnr, true, { split = 'right', bufpos = { 0, 0 } })
|
||||||
|
)
|
||||||
|
local winid = api.nvim_open_win(bufnr, true, { split = 'right' })
|
||||||
|
eq(
|
||||||
|
"non-float cannot have 'row'",
|
||||||
|
pcall_err(api.nvim_win_set_config, winid, { split = 'right', row = 10 })
|
||||||
|
)
|
||||||
|
eq(
|
||||||
|
"non-float cannot have 'col'",
|
||||||
|
pcall_err(api.nvim_win_set_config, winid, { split = 'right', col = 10 })
|
||||||
|
)
|
||||||
|
eq(
|
||||||
|
"non-float cannot have 'bufpos'",
|
||||||
|
pcall_err(api.nvim_win_set_config, winid, { split = 'right', bufpos = { 0, 0 } })
|
||||||
|
)
|
||||||
|
end)
|
||||||
|
|
||||||
it('error message when reconfig missing relative field', function()
|
it('error message when reconfig missing relative field', function()
|
||||||
local bufnr = api.nvim_create_buf(false, true)
|
local bufnr = api.nvim_create_buf(false, true)
|
||||||
local opts = {
|
local opts = {
|
||||||
@ -337,15 +366,16 @@ describe('float window', function()
|
|||||||
relative = 'editor',
|
relative = 'editor',
|
||||||
style = 'minimal',
|
style = 'minimal',
|
||||||
}
|
}
|
||||||
local win_id = api.nvim_open_win(bufnr, true, opts)
|
local winid = api.nvim_open_win(bufnr, true, opts)
|
||||||
eq(
|
eq(
|
||||||
"Missing 'relative' field when reconfiguring floating window 1001",
|
"Missing 'relative' field when reconfiguring floating window 1001",
|
||||||
pcall_err(api.nvim_win_set_config, win_id, {
|
pcall_err(api.nvim_win_set_config, winid, {
|
||||||
width = 3,
|
width = 3,
|
||||||
height = 3,
|
height = 3,
|
||||||
row = 10,
|
row = 10,
|
||||||
col = 10,
|
col = 10,
|
||||||
}))
|
})
|
||||||
|
)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('is not operated on by windo when non-focusable #15374', function()
|
it('is not operated on by windo when non-focusable #15374', function()
|
||||||
|
Loading…
Reference in New Issue
Block a user