From 04f2f864e270e772c6326cefdf24947f0130e492 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Wed, 3 Jan 2024 02:09:18 +0100 Subject: refactor: format test/* --- test/functional/vimscript/buf_functions_spec.lua | 127 +++++++++++++---------- 1 file changed, 72 insertions(+), 55 deletions(-) (limited to 'test/functional/vimscript/buf_functions_spec.lua') diff --git a/test/functional/vimscript/buf_functions_spec.lua b/test/functional/vimscript/buf_functions_spec.lua index 2a5720fbd7..c17edfad62 100644 --- a/test/functional/vimscript/buf_functions_spec.lua +++ b/test/functional/vimscript/buf_functions_spec.lua @@ -23,30 +23,47 @@ local dirname = fname .. '.d' before_each(clear) -for _, func in ipairs({'bufname(%s)', 'bufnr(%s)', 'bufwinnr(%s)', - 'getbufline(%s, 1)', 'getbufvar(%s, "changedtick")', - 'setbufvar(%s, "f", 0)'}) do +for _, func in ipairs({ + 'bufname(%s)', + 'bufnr(%s)', + 'bufwinnr(%s)', + 'getbufline(%s, 1)', + 'getbufvar(%s, "changedtick")', + 'setbufvar(%s, "f", 0)', +}) do local funcname = func:match('%w+') describe(funcname .. '() function', function() it('errors out when receives v:true/v:false/v:null', function() -- Not compatible with Vim: in Vim it always results in buffer not found -- without any error messages. - for _, var in ipairs({'v:true', 'v:false'}) do - eq('Vim(call):E5299: Expected a Number or a String, Boolean found', - exc_exec('call ' .. func:format(var))) + for _, var in ipairs({ 'v:true', 'v:false' }) do + eq( + 'Vim(call):E5299: Expected a Number or a String, Boolean found', + exc_exec('call ' .. func:format(var)) + ) end - eq('Vim(call):E5300: Expected a Number or a String', - exc_exec('call ' .. func:format('v:null'))) + eq( + 'Vim(call):E5300: Expected a Number or a String', + exc_exec('call ' .. func:format('v:null')) + ) end) it('errors out when receives invalid argument', function() - eq('Vim(call):E745: Expected a Number or a String, List found', - exc_exec('call ' .. func:format('[]'))) - eq('Vim(call):E728: Expected a Number or a String, Dictionary found', - exc_exec('call ' .. func:format('{}'))) - eq('Vim(call):E805: Expected a Number or a String, Float found', - exc_exec('call ' .. func:format('0.0'))) - eq('Vim(call):E703: Expected a Number or a String, Funcref found', - exc_exec('call ' .. func:format('function("tr")'))) + eq( + 'Vim(call):E745: Expected a Number or a String, List found', + exc_exec('call ' .. func:format('[]')) + ) + eq( + 'Vim(call):E728: Expected a Number or a String, Dictionary found', + exc_exec('call ' .. func:format('{}')) + ) + eq( + 'Vim(call):E805: Expected a Number or a String, Float found', + exc_exec('call ' .. func:format('0.0')) + ) + eq( + 'Vim(call):E703: Expected a Number or a String, Funcref found', + exc_exec('call ' .. func:format('function("tr")')) + ) end) end) end @@ -68,12 +85,12 @@ describe('bufname() function', function() rmdir(dirname) end) it('returns expected buffer name', function() - eq('', funcs.bufname('%')) -- Buffer has no name yet + eq('', funcs.bufname('%')) -- Buffer has no name yet command('file ' .. fname) local wd = luv.cwd() local sep = get_pathsep() local curdirname = funcs.fnamemodify(wd, ':t') - for _, arg in ipairs({'%', 1, 'X', wd}) do + for _, arg in ipairs({ '%', 1, 'X', wd }) do eq(fname, funcs.bufname(arg)) meths.set_current_dir('..') eq(curdirname .. sep .. fname, funcs.bufname(arg)) @@ -139,7 +156,7 @@ describe('bufwinnr() function', function() eq(-1, funcs.bufwinnr(2)) eq(-1, funcs.bufwinnr('non-existent-buffer')) eq(-1, funcs.bufwinnr('#')) - command('split ' .. fname2) -- It would be OK if there was one window + command('split ' .. fname2) -- It would be OK if there was one window eq(2, funcs.bufnr('%')) eq(-1, funcs.bufwinnr('X')) end) @@ -181,7 +198,7 @@ describe('getbufline() function', function() end) it('returns empty list when range is invalid', function() eq({}, funcs.getbufline(1, 0)) - curbufmeths.set_lines(0, 1, false, {'foo', 'bar', 'baz'}) + curbufmeths.set_lines(0, 1, false, { 'foo', 'bar', 'baz' }) eq({}, funcs.getbufline(1, 2, 1)) eq({}, funcs.getbufline(1, -10, -20)) eq({}, funcs.getbufline(1, -2, -1)) @@ -190,14 +207,14 @@ describe('getbufline() function', function() it('returns expected lines', function() meths.set_option_value('hidden', true, {}) command('file ' .. fname) - curbufmeths.set_lines(0, 1, false, {'foo\0', '\0bar', 'baz'}) + curbufmeths.set_lines(0, 1, false, { 'foo\0', '\0bar', 'baz' }) command('edit ' .. fname2) - curbufmeths.set_lines(0, 1, false, {'abc\0', '\0def', 'ghi'}) - eq({'foo\n', '\nbar', 'baz'}, funcs.getbufline(1, 1, 9999)) - eq({'abc\n', '\ndef', 'ghi'}, funcs.getbufline(2, 1, 9999)) - eq({'foo\n', '\nbar', 'baz'}, funcs.getbufline(1, 1, '$')) - eq({'baz'}, funcs.getbufline(1, '$', '$')) - eq({'baz'}, funcs.getbufline(1, '$', 9999)) + curbufmeths.set_lines(0, 1, false, { 'abc\0', '\0def', 'ghi' }) + eq({ 'foo\n', '\nbar', 'baz' }, funcs.getbufline(1, 1, 9999)) + eq({ 'abc\n', '\ndef', 'ghi' }, funcs.getbufline(2, 1, 9999)) + eq({ 'foo\n', '\nbar', 'baz' }, funcs.getbufline(1, 1, '$')) + eq({ 'baz' }, funcs.getbufline(1, '$', '$')) + eq({ 'baz' }, funcs.getbufline(1, '$', 9999)) end) end) @@ -230,9 +247,9 @@ describe('getbufvar() function', function() eq(0, funcs.getbufvar(1, '&g:number')) command('new') -- But with window-local options it probably does not what you expect - command("setl number") + command('setl number') -- (note that current window’s buffer is 2, but getbufvar() receives 1) - eq({id=2}, curwinmeths.get_buf()) + eq({ id = 2 }, curwinmeths.get_buf()) eq(1, funcs.getbufvar(1, '&number')) eq(1, funcs.getbufvar(1, '&l:number')) -- You can get global value though, if you find this useful. @@ -240,31 +257,33 @@ describe('getbufvar() function', function() end) it('returns expected variable value', function() eq(2, funcs.getbufvar(1, 'changedtick')) - curbufmeths.set_lines(0, 1, false, {'abc\0', '\0def', 'ghi'}) + curbufmeths.set_lines(0, 1, false, { 'abc\0', '\0def', 'ghi' }) eq(3, funcs.getbufvar(1, 'changedtick')) curbufmeths.set_var('test', true) eq(true, funcs.getbufvar(1, 'test')) - eq({test=true, changedtick=3}, funcs.getbufvar(1, '')) + eq({ test = true, changedtick = 3 }, funcs.getbufvar(1, '')) command('new') eq(3, funcs.getbufvar(1, 'changedtick')) eq(true, funcs.getbufvar(1, 'test')) - eq({test=true, changedtick=3}, funcs.getbufvar(1, '')) + eq({ test = true, changedtick = 3 }, funcs.getbufvar(1, '')) end) end) describe('setbufvar() function', function() it('throws the error or ignores the input when buffer was not found', function() command('file ' .. fname) - eq(0, - exc_exec('call setbufvar(2, "&autoindent", 0)')) - eq('Vim(call):E94: No matching buffer for non-existent-buffer', - exc_exec('call setbufvar("non-existent-buffer", "&autoindent", 0)')) - eq(0, - exc_exec('call setbufvar("#", "&autoindent", 0)')) + eq(0, exc_exec('call setbufvar(2, "&autoindent", 0)')) + eq( + 'Vim(call):E94: No matching buffer for non-existent-buffer', + exc_exec('call setbufvar("non-existent-buffer", "&autoindent", 0)') + ) + eq(0, exc_exec('call setbufvar("#", "&autoindent", 0)')) command('edit ' .. fname2) eq(2, funcs.bufnr('%')) - eq('Vim(call):E93: More than one match for X', - exc_exec('call setbufvar("X", "&autoindent", 0)')) + eq( + 'Vim(call):E93: More than one match for X', + exc_exec('call setbufvar("X", "&autoindent", 0)') + ) end) it('may set options, including window-local and global values', function() local buf1 = meths.get_current_buf() @@ -274,21 +293,19 @@ describe('setbufvar() function', function() eq(2, bufmeths.get_number(curwinmeths.get_buf())) funcs.setbufvar(1, '&number', true) local windows = curtabmeths.list_wins() - eq(false, meths.get_option_value('number', {win=windows[1].id})) - eq(true, meths.get_option_value('number', {win=windows[2].id})) - eq(false, meths.get_option_value('number', {win=windows[3].id})) - eq(false, meths.get_option_value('number', {win=meths.get_current_win().id})) - + eq(false, meths.get_option_value('number', { win = windows[1].id })) + eq(true, meths.get_option_value('number', { win = windows[2].id })) + eq(false, meths.get_option_value('number', { win = windows[3].id })) + eq(false, meths.get_option_value('number', { win = meths.get_current_win().id })) eq(true, meths.get_option_value('hidden', {})) funcs.setbufvar(1, '&hidden', 0) eq(false, meths.get_option_value('hidden', {})) - eq(false, meths.get_option_value('autoindent', {buf=buf1.id})) + eq(false, meths.get_option_value('autoindent', { buf = buf1.id })) funcs.setbufvar(1, '&autoindent', true) - eq(true, meths.get_option_value('autoindent', {buf=buf1.id})) - eq('Vim(call):E355: Unknown option: xxx', - exc_exec('call setbufvar(1, "&xxx", 0)')) + eq(true, meths.get_option_value('autoindent', { buf = buf1.id })) + eq('Vim(call):E355: Unknown option: xxx', exc_exec('call setbufvar(1, "&xxx", 0)')) end) it('may set variables', function() local buf1 = meths.get_current_buf() @@ -297,15 +314,15 @@ describe('setbufvar() function', function() eq(2, curbufmeths.get_number()) funcs.setbufvar(1, 'number', true) eq(true, bufmeths.get_var(buf1, 'number')) - eq('Vim(call):E461: Illegal variable name: b:', - exc_exec('call setbufvar(1, "", 0)')) + eq('Vim(call):E461: Illegal variable name: b:', exc_exec('call setbufvar(1, "", 0)')) eq(true, bufmeths.get_var(buf1, 'number')) - eq('Vim:E46: Cannot change read-only variable "b:changedtick"', - pcall_err(funcs.setbufvar, 1, 'changedtick', true)) + eq( + 'Vim:E46: Cannot change read-only variable "b:changedtick"', + pcall_err(funcs.setbufvar, 1, 'changedtick', true) + ) eq(2, funcs.getbufvar(1, 'changedtick')) end) it('throws error when setting a string option to a boolean value vim-patch:9.0.0090', function() - eq('Vim:E928: String required', - pcall_err(funcs.setbufvar, '', '&errorformat', true)) + eq('Vim:E928: String required', pcall_err(funcs.setbufvar, '', '&errorformat', true)) end) end) -- cgit From 284e0ad26dd9de90c3a813dd1b357a425eca6bad Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Fri, 12 Jan 2024 12:03:25 +0000 Subject: test: use vim.mpack and vim.uv directly --- test/functional/vimscript/buf_functions_spec.lua | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'test/functional/vimscript/buf_functions_spec.lua') diff --git a/test/functional/vimscript/buf_functions_spec.lua b/test/functional/vimscript/buf_functions_spec.lua index c17edfad62..1b722247a8 100644 --- a/test/functional/vimscript/buf_functions_spec.lua +++ b/test/functional/vimscript/buf_functions_spec.lua @@ -1,7 +1,5 @@ local helpers = require('test.functional.helpers')(after_each) -local luv = require('luv') - local eq = helpers.eq local clear = helpers.clear local funcs = helpers.funcs @@ -87,7 +85,7 @@ describe('bufname() function', function() it('returns expected buffer name', function() eq('', funcs.bufname('%')) -- Buffer has no name yet command('file ' .. fname) - local wd = luv.cwd() + local wd = vim.uv.cwd() local sep = get_pathsep() local curdirname = funcs.fnamemodify(wd, ':t') for _, arg in ipairs({ '%', 1, 'X', wd }) do @@ -120,7 +118,7 @@ describe('bufnr() function', function() it('returns expected buffer number', function() eq(1, funcs.bufnr('%')) command('file ' .. fname) - local wd = luv.cwd() + local wd = vim.uv.cwd() local curdirname = funcs.fnamemodify(wd, ':t') eq(1, funcs.bufnr(fname)) eq(1, funcs.bufnr(wd)) -- cgit From c30f2e3182e3b50e7c03932027ac55edfc8ada4a Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Fri, 12 Jan 2024 12:44:54 +0000 Subject: test: typing for helpers.meths --- test/functional/vimscript/buf_functions_spec.lua | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'test/functional/vimscript/buf_functions_spec.lua') diff --git a/test/functional/vimscript/buf_functions_spec.lua b/test/functional/vimscript/buf_functions_spec.lua index 1b722247a8..c93e55df5f 100644 --- a/test/functional/vimscript/buf_functions_spec.lua +++ b/test/functional/vimscript/buf_functions_spec.lua @@ -90,12 +90,12 @@ describe('bufname() function', function() local curdirname = funcs.fnamemodify(wd, ':t') for _, arg in ipairs({ '%', 1, 'X', wd }) do eq(fname, funcs.bufname(arg)) - meths.set_current_dir('..') + meths.nvim_set_current_dir('..') eq(curdirname .. sep .. fname, funcs.bufname(arg)) - meths.set_current_dir(curdirname) - meths.set_current_dir(dirname) + meths.nvim_set_current_dir(curdirname) + meths.nvim_set_current_dir(dirname) eq(wd .. sep .. fname, funcs.bufname(arg)) - meths.set_current_dir('..') + meths.nvim_set_current_dir('..') eq(fname, funcs.bufname(arg)) command('enew') end @@ -172,7 +172,7 @@ describe('bufwinnr() function', function() eq(2, funcs.bufwinnr(fname)) eq(1, funcs.bufwinnr(fname2)) eq(-1, funcs.bufwinnr(fname:sub(1, #fname - 1))) - meths.set_current_dir(dirname) + meths.nvim_set_current_dir(dirname) eq(2, funcs.bufwinnr(fname)) eq(1, funcs.bufwinnr(fname2)) eq(-1, funcs.bufwinnr(fname:sub(1, #fname - 1))) @@ -203,7 +203,7 @@ describe('getbufline() function', function() eq({}, funcs.getbufline(1, -1, 9999)) end) it('returns expected lines', function() - meths.set_option_value('hidden', true, {}) + meths.nvim_set_option_value('hidden', true, {}) command('file ' .. fname) curbufmeths.set_lines(0, 1, false, { 'foo\0', '\0bar', 'baz' }) command('edit ' .. fname2) @@ -284,29 +284,29 @@ describe('setbufvar() function', function() ) end) it('may set options, including window-local and global values', function() - local buf1 = meths.get_current_buf() - eq(false, meths.get_option_value('number', {})) + local buf1 = meths.nvim_get_current_buf() + eq(false, meths.nvim_get_option_value('number', {})) command('split') command('new') eq(2, bufmeths.get_number(curwinmeths.get_buf())) funcs.setbufvar(1, '&number', true) local windows = curtabmeths.list_wins() - eq(false, meths.get_option_value('number', { win = windows[1].id })) - eq(true, meths.get_option_value('number', { win = windows[2].id })) - eq(false, meths.get_option_value('number', { win = windows[3].id })) - eq(false, meths.get_option_value('number', { win = meths.get_current_win().id })) + eq(false, meths.nvim_get_option_value('number', { win = windows[1].id })) + eq(true, meths.nvim_get_option_value('number', { win = windows[2].id })) + eq(false, meths.nvim_get_option_value('number', { win = windows[3].id })) + eq(false, meths.nvim_get_option_value('number', { win = meths.nvim_get_current_win().id })) - eq(true, meths.get_option_value('hidden', {})) + eq(true, meths.nvim_get_option_value('hidden', {})) funcs.setbufvar(1, '&hidden', 0) - eq(false, meths.get_option_value('hidden', {})) + eq(false, meths.nvim_get_option_value('hidden', {})) - eq(false, meths.get_option_value('autoindent', { buf = buf1.id })) + eq(false, meths.nvim_get_option_value('autoindent', { buf = buf1.id })) funcs.setbufvar(1, '&autoindent', true) - eq(true, meths.get_option_value('autoindent', { buf = buf1.id })) + eq(true, meths.nvim_get_option_value('autoindent', { buf = buf1.id })) eq('Vim(call):E355: Unknown option: xxx', exc_exec('call setbufvar(1, "&xxx", 0)')) end) it('may set variables', function() - local buf1 = meths.get_current_buf() + local buf1 = meths.nvim_get_current_buf() command('split') command('new') eq(2, curbufmeths.get_number()) -- cgit From 4f81f506f96f8b5bfcf00e952ceb492d3ce9dc6e Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Fri, 12 Jan 2024 13:11:28 +0000 Subject: test: normalise nvim bridge functions - remove helpers.cur*meths - remove helpers.nvim --- test/functional/vimscript/buf_functions_spec.lua | 26 ++++++++++-------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'test/functional/vimscript/buf_functions_spec.lua') diff --git a/test/functional/vimscript/buf_functions_spec.lua b/test/functional/vimscript/buf_functions_spec.lua index c93e55df5f..34206b15ae 100644 --- a/test/functional/vimscript/buf_functions_spec.lua +++ b/test/functional/vimscript/buf_functions_spec.lua @@ -6,10 +6,6 @@ local funcs = helpers.funcs local meths = helpers.meths local command = helpers.command local exc_exec = helpers.exc_exec -local bufmeths = helpers.bufmeths -local curbufmeths = helpers.curbufmeths -local curwinmeths = helpers.curwinmeths -local curtabmeths = helpers.curtabmeths local get_pathsep = helpers.get_pathsep local rmdir = helpers.rmdir local pcall_err = helpers.pcall_err @@ -196,7 +192,7 @@ describe('getbufline() function', function() end) it('returns empty list when range is invalid', function() eq({}, funcs.getbufline(1, 0)) - curbufmeths.set_lines(0, 1, false, { 'foo', 'bar', 'baz' }) + meths.nvim_buf_set_lines(0, 0, 1, false, { 'foo', 'bar', 'baz' }) eq({}, funcs.getbufline(1, 2, 1)) eq({}, funcs.getbufline(1, -10, -20)) eq({}, funcs.getbufline(1, -2, -1)) @@ -205,9 +201,9 @@ describe('getbufline() function', function() it('returns expected lines', function() meths.nvim_set_option_value('hidden', true, {}) command('file ' .. fname) - curbufmeths.set_lines(0, 1, false, { 'foo\0', '\0bar', 'baz' }) + meths.nvim_buf_set_lines(0, 0, 1, false, { 'foo\0', '\0bar', 'baz' }) command('edit ' .. fname2) - curbufmeths.set_lines(0, 1, false, { 'abc\0', '\0def', 'ghi' }) + meths.nvim_buf_set_lines(0, 0, 1, false, { 'abc\0', '\0def', 'ghi' }) eq({ 'foo\n', '\nbar', 'baz' }, funcs.getbufline(1, 1, 9999)) eq({ 'abc\n', '\ndef', 'ghi' }, funcs.getbufline(2, 1, 9999)) eq({ 'foo\n', '\nbar', 'baz' }, funcs.getbufline(1, 1, '$')) @@ -247,7 +243,7 @@ describe('getbufvar() function', function() -- But with window-local options it probably does not what you expect command('setl number') -- (note that current window’s buffer is 2, but getbufvar() receives 1) - eq({ id = 2 }, curwinmeths.get_buf()) + eq({ id = 2 }, meths.nvim_win_get_buf(0)) eq(1, funcs.getbufvar(1, '&number')) eq(1, funcs.getbufvar(1, '&l:number')) -- You can get global value though, if you find this useful. @@ -255,9 +251,9 @@ describe('getbufvar() function', function() end) it('returns expected variable value', function() eq(2, funcs.getbufvar(1, 'changedtick')) - curbufmeths.set_lines(0, 1, false, { 'abc\0', '\0def', 'ghi' }) + meths.nvim_buf_set_lines(0, 0, 1, false, { 'abc\0', '\0def', 'ghi' }) eq(3, funcs.getbufvar(1, 'changedtick')) - curbufmeths.set_var('test', true) + meths.nvim_buf_set_var(0, 'test', true) eq(true, funcs.getbufvar(1, 'test')) eq({ test = true, changedtick = 3 }, funcs.getbufvar(1, '')) command('new') @@ -288,9 +284,9 @@ describe('setbufvar() function', function() eq(false, meths.nvim_get_option_value('number', {})) command('split') command('new') - eq(2, bufmeths.get_number(curwinmeths.get_buf())) + eq(2, meths.nvim_buf_get_number(meths.nvim_win_get_buf(0))) funcs.setbufvar(1, '&number', true) - local windows = curtabmeths.list_wins() + local windows = meths.nvim_tabpage_list_wins(0) eq(false, meths.nvim_get_option_value('number', { win = windows[1].id })) eq(true, meths.nvim_get_option_value('number', { win = windows[2].id })) eq(false, meths.nvim_get_option_value('number', { win = windows[3].id })) @@ -309,11 +305,11 @@ describe('setbufvar() function', function() local buf1 = meths.nvim_get_current_buf() command('split') command('new') - eq(2, curbufmeths.get_number()) + eq(2, meths.nvim_buf_get_number(0)) funcs.setbufvar(1, 'number', true) - eq(true, bufmeths.get_var(buf1, 'number')) + eq(true, meths.nvim_buf_get_var(buf1, 'number')) eq('Vim(call):E461: Illegal variable name: b:', exc_exec('call setbufvar(1, "", 0)')) - eq(true, bufmeths.get_var(buf1, 'number')) + eq(true, meths.nvim_buf_get_var(buf1, 'number')) eq( 'Vim:E46: Cannot change read-only variable "b:changedtick"', pcall_err(funcs.setbufvar, 1, 'changedtick', true) -- cgit From 795f896a5772d5e0795f86642bdf90c82efac45c Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Fri, 12 Jan 2024 17:59:57 +0000 Subject: test: rename (meths, funcs) -> (api, fn) --- test/functional/vimscript/buf_functions_spec.lua | 266 +++++++++++------------ 1 file changed, 133 insertions(+), 133 deletions(-) (limited to 'test/functional/vimscript/buf_functions_spec.lua') diff --git a/test/functional/vimscript/buf_functions_spec.lua b/test/functional/vimscript/buf_functions_spec.lua index 34206b15ae..5557ce6788 100644 --- a/test/functional/vimscript/buf_functions_spec.lua +++ b/test/functional/vimscript/buf_functions_spec.lua @@ -2,8 +2,8 @@ local helpers = require('test.functional.helpers')(after_each) local eq = helpers.eq local clear = helpers.clear -local funcs = helpers.funcs -local meths = helpers.meths +local fn = helpers.fn +local api = helpers.api local command = helpers.command local exc_exec = helpers.exc_exec local get_pathsep = helpers.get_pathsep @@ -65,12 +65,12 @@ end describe('bufname() function', function() it('returns empty string when buffer was not found', function() command('file ' .. fname) - eq('', funcs.bufname(2)) - eq('', funcs.bufname('non-existent-buffer')) - eq('', funcs.bufname('#')) + eq('', fn.bufname(2)) + eq('', fn.bufname('non-existent-buffer')) + eq('', fn.bufname('#')) command('edit ' .. fname2) - eq(2, funcs.bufnr('%')) - eq('', funcs.bufname('X')) + eq(2, fn.bufnr('%')) + eq('', fn.bufname('X')) end) before_each(function() mkdir(dirname) @@ -79,80 +79,80 @@ describe('bufname() function', function() rmdir(dirname) end) it('returns expected buffer name', function() - eq('', funcs.bufname('%')) -- Buffer has no name yet + eq('', fn.bufname('%')) -- Buffer has no name yet command('file ' .. fname) local wd = vim.uv.cwd() local sep = get_pathsep() - local curdirname = funcs.fnamemodify(wd, ':t') + local curdirname = fn.fnamemodify(wd, ':t') for _, arg in ipairs({ '%', 1, 'X', wd }) do - eq(fname, funcs.bufname(arg)) - meths.nvim_set_current_dir('..') - eq(curdirname .. sep .. fname, funcs.bufname(arg)) - meths.nvim_set_current_dir(curdirname) - meths.nvim_set_current_dir(dirname) - eq(wd .. sep .. fname, funcs.bufname(arg)) - meths.nvim_set_current_dir('..') - eq(fname, funcs.bufname(arg)) + eq(fname, fn.bufname(arg)) + api.nvim_set_current_dir('..') + eq(curdirname .. sep .. fname, fn.bufname(arg)) + api.nvim_set_current_dir(curdirname) + api.nvim_set_current_dir(dirname) + eq(wd .. sep .. fname, fn.bufname(arg)) + api.nvim_set_current_dir('..') + eq(fname, fn.bufname(arg)) command('enew') end - eq('', funcs.bufname('%')) - eq('', funcs.bufname('$')) - eq(2, funcs.bufnr('%')) + eq('', fn.bufname('%')) + eq('', fn.bufname('$')) + eq(2, fn.bufnr('%')) end) end) describe('bufnr() function', function() it('returns -1 when buffer was not found', function() command('file ' .. fname) - eq(-1, funcs.bufnr(2)) - eq(-1, funcs.bufnr('non-existent-buffer')) - eq(-1, funcs.bufnr('#')) + eq(-1, fn.bufnr(2)) + eq(-1, fn.bufnr('non-existent-buffer')) + eq(-1, fn.bufnr('#')) command('edit ' .. fname2) - eq(2, funcs.bufnr('%')) - eq(-1, funcs.bufnr('X')) + eq(2, fn.bufnr('%')) + eq(-1, fn.bufnr('X')) end) it('returns expected buffer number', function() - eq(1, funcs.bufnr('%')) + eq(1, fn.bufnr('%')) command('file ' .. fname) local wd = vim.uv.cwd() - local curdirname = funcs.fnamemodify(wd, ':t') - eq(1, funcs.bufnr(fname)) - eq(1, funcs.bufnr(wd)) - eq(1, funcs.bufnr(curdirname)) - eq(1, funcs.bufnr('X')) + local curdirname = fn.fnamemodify(wd, ':t') + eq(1, fn.bufnr(fname)) + eq(1, fn.bufnr(wd)) + eq(1, fn.bufnr(curdirname)) + eq(1, fn.bufnr('X')) end) it('returns number of last buffer with "$"', function() - eq(1, funcs.bufnr('$')) + eq(1, fn.bufnr('$')) command('new') - eq(2, funcs.bufnr('$')) + eq(2, fn.bufnr('$')) command('new') - eq(3, funcs.bufnr('$')) + eq(3, fn.bufnr('$')) command('only') - eq(3, funcs.bufnr('$')) - eq(3, funcs.bufnr('%')) + eq(3, fn.bufnr('$')) + eq(3, fn.bufnr('%')) command('buffer 1') - eq(3, funcs.bufnr('$')) - eq(1, funcs.bufnr('%')) + eq(3, fn.bufnr('$')) + eq(1, fn.bufnr('%')) command('bwipeout 2') - eq(3, funcs.bufnr('$')) - eq(1, funcs.bufnr('%')) + eq(3, fn.bufnr('$')) + eq(1, fn.bufnr('%')) command('bwipeout 3') - eq(1, funcs.bufnr('$')) - eq(1, funcs.bufnr('%')) + eq(1, fn.bufnr('$')) + eq(1, fn.bufnr('%')) command('new') - eq(4, funcs.bufnr('$')) + eq(4, fn.bufnr('$')) end) end) describe('bufwinnr() function', function() it('returns -1 when buffer was not found', function() command('file ' .. fname) - eq(-1, funcs.bufwinnr(2)) - eq(-1, funcs.bufwinnr('non-existent-buffer')) - eq(-1, funcs.bufwinnr('#')) + eq(-1, fn.bufwinnr(2)) + eq(-1, fn.bufwinnr('non-existent-buffer')) + eq(-1, fn.bufwinnr('#')) command('split ' .. fname2) -- It would be OK if there was one window - eq(2, funcs.bufnr('%')) - eq(-1, funcs.bufwinnr('X')) + eq(2, fn.bufnr('%')) + eq(-1, fn.bufwinnr('X')) end) before_each(function() mkdir(dirname) @@ -161,105 +161,105 @@ describe('bufwinnr() function', function() rmdir(dirname) end) it('returns expected window number', function() - eq(1, funcs.bufwinnr('%')) + eq(1, fn.bufwinnr('%')) command('file ' .. fname) command('vsplit') command('split ' .. fname2) - eq(2, funcs.bufwinnr(fname)) - eq(1, funcs.bufwinnr(fname2)) - eq(-1, funcs.bufwinnr(fname:sub(1, #fname - 1))) - meths.nvim_set_current_dir(dirname) - eq(2, funcs.bufwinnr(fname)) - eq(1, funcs.bufwinnr(fname2)) - eq(-1, funcs.bufwinnr(fname:sub(1, #fname - 1))) - eq(1, funcs.bufwinnr('%')) - eq(2, funcs.bufwinnr(1)) - eq(1, funcs.bufwinnr(2)) - eq(-1, funcs.bufwinnr(3)) - eq(1, funcs.bufwinnr('$')) + eq(2, fn.bufwinnr(fname)) + eq(1, fn.bufwinnr(fname2)) + eq(-1, fn.bufwinnr(fname:sub(1, #fname - 1))) + api.nvim_set_current_dir(dirname) + eq(2, fn.bufwinnr(fname)) + eq(1, fn.bufwinnr(fname2)) + eq(-1, fn.bufwinnr(fname:sub(1, #fname - 1))) + eq(1, fn.bufwinnr('%')) + eq(2, fn.bufwinnr(1)) + eq(1, fn.bufwinnr(2)) + eq(-1, fn.bufwinnr(3)) + eq(1, fn.bufwinnr('$')) end) end) describe('getbufline() function', function() it('returns empty list when buffer was not found', function() command('file ' .. fname) - eq({}, funcs.getbufline(2, 1)) - eq({}, funcs.getbufline('non-existent-buffer', 1)) - eq({}, funcs.getbufline('#', 1)) + eq({}, fn.getbufline(2, 1)) + eq({}, fn.getbufline('non-existent-buffer', 1)) + eq({}, fn.getbufline('#', 1)) command('edit ' .. fname2) - eq(2, funcs.bufnr('%')) - eq({}, funcs.getbufline('X', 1)) + eq(2, fn.bufnr('%')) + eq({}, fn.getbufline('X', 1)) end) it('returns empty list when range is invalid', function() - eq({}, funcs.getbufline(1, 0)) - meths.nvim_buf_set_lines(0, 0, 1, false, { 'foo', 'bar', 'baz' }) - eq({}, funcs.getbufline(1, 2, 1)) - eq({}, funcs.getbufline(1, -10, -20)) - eq({}, funcs.getbufline(1, -2, -1)) - eq({}, funcs.getbufline(1, -1, 9999)) + eq({}, fn.getbufline(1, 0)) + api.nvim_buf_set_lines(0, 0, 1, false, { 'foo', 'bar', 'baz' }) + eq({}, fn.getbufline(1, 2, 1)) + eq({}, fn.getbufline(1, -10, -20)) + eq({}, fn.getbufline(1, -2, -1)) + eq({}, fn.getbufline(1, -1, 9999)) end) it('returns expected lines', function() - meths.nvim_set_option_value('hidden', true, {}) + api.nvim_set_option_value('hidden', true, {}) command('file ' .. fname) - meths.nvim_buf_set_lines(0, 0, 1, false, { 'foo\0', '\0bar', 'baz' }) + api.nvim_buf_set_lines(0, 0, 1, false, { 'foo\0', '\0bar', 'baz' }) command('edit ' .. fname2) - meths.nvim_buf_set_lines(0, 0, 1, false, { 'abc\0', '\0def', 'ghi' }) - eq({ 'foo\n', '\nbar', 'baz' }, funcs.getbufline(1, 1, 9999)) - eq({ 'abc\n', '\ndef', 'ghi' }, funcs.getbufline(2, 1, 9999)) - eq({ 'foo\n', '\nbar', 'baz' }, funcs.getbufline(1, 1, '$')) - eq({ 'baz' }, funcs.getbufline(1, '$', '$')) - eq({ 'baz' }, funcs.getbufline(1, '$', 9999)) + api.nvim_buf_set_lines(0, 0, 1, false, { 'abc\0', '\0def', 'ghi' }) + eq({ 'foo\n', '\nbar', 'baz' }, fn.getbufline(1, 1, 9999)) + eq({ 'abc\n', '\ndef', 'ghi' }, fn.getbufline(2, 1, 9999)) + eq({ 'foo\n', '\nbar', 'baz' }, fn.getbufline(1, 1, '$')) + eq({ 'baz' }, fn.getbufline(1, '$', '$')) + eq({ 'baz' }, fn.getbufline(1, '$', 9999)) end) end) describe('getbufvar() function', function() it('returns empty list when buffer was not found', function() command('file ' .. fname) - eq('', funcs.getbufvar(2, '&autoindent')) - eq('', funcs.getbufvar('non-existent-buffer', '&autoindent')) - eq('', funcs.getbufvar('#', '&autoindent')) + eq('', fn.getbufvar(2, '&autoindent')) + eq('', fn.getbufvar('non-existent-buffer', '&autoindent')) + eq('', fn.getbufvar('#', '&autoindent')) command('edit ' .. fname2) - eq(2, funcs.bufnr('%')) - eq('', funcs.getbufvar('X', '&autoindent')) + eq(2, fn.bufnr('%')) + eq('', fn.getbufvar('X', '&autoindent')) end) it('returns empty list when variable/option/etc was not found', function() command('file ' .. fname) - eq('', funcs.getbufvar(1, '&autondent')) - eq('', funcs.getbufvar(1, 'changedtic')) + eq('', fn.getbufvar(1, '&autondent')) + eq('', fn.getbufvar(1, 'changedtic')) end) it('returns expected option value', function() - eq(0, funcs.getbufvar(1, '&autoindent')) - eq(0, funcs.getbufvar(1, '&l:autoindent')) - eq(0, funcs.getbufvar(1, '&g:autoindent')) + eq(0, fn.getbufvar(1, '&autoindent')) + eq(0, fn.getbufvar(1, '&l:autoindent')) + eq(0, fn.getbufvar(1, '&g:autoindent')) -- Also works with global-only options - eq(1, funcs.getbufvar(1, '&hidden')) - eq(1, funcs.getbufvar(1, '&l:hidden')) - eq(1, funcs.getbufvar(1, '&g:hidden')) + eq(1, fn.getbufvar(1, '&hidden')) + eq(1, fn.getbufvar(1, '&l:hidden')) + eq(1, fn.getbufvar(1, '&g:hidden')) -- Also works with window-local options - eq(0, funcs.getbufvar(1, '&number')) - eq(0, funcs.getbufvar(1, '&l:number')) - eq(0, funcs.getbufvar(1, '&g:number')) + eq(0, fn.getbufvar(1, '&number')) + eq(0, fn.getbufvar(1, '&l:number')) + eq(0, fn.getbufvar(1, '&g:number')) command('new') -- But with window-local options it probably does not what you expect command('setl number') -- (note that current window’s buffer is 2, but getbufvar() receives 1) - eq({ id = 2 }, meths.nvim_win_get_buf(0)) - eq(1, funcs.getbufvar(1, '&number')) - eq(1, funcs.getbufvar(1, '&l:number')) + eq({ id = 2 }, api.nvim_win_get_buf(0)) + eq(1, fn.getbufvar(1, '&number')) + eq(1, fn.getbufvar(1, '&l:number')) -- You can get global value though, if you find this useful. - eq(0, funcs.getbufvar(1, '&g:number')) + eq(0, fn.getbufvar(1, '&g:number')) end) it('returns expected variable value', function() - eq(2, funcs.getbufvar(1, 'changedtick')) - meths.nvim_buf_set_lines(0, 0, 1, false, { 'abc\0', '\0def', 'ghi' }) - eq(3, funcs.getbufvar(1, 'changedtick')) - meths.nvim_buf_set_var(0, 'test', true) - eq(true, funcs.getbufvar(1, 'test')) - eq({ test = true, changedtick = 3 }, funcs.getbufvar(1, '')) + eq(2, fn.getbufvar(1, 'changedtick')) + api.nvim_buf_set_lines(0, 0, 1, false, { 'abc\0', '\0def', 'ghi' }) + eq(3, fn.getbufvar(1, 'changedtick')) + api.nvim_buf_set_var(0, 'test', true) + eq(true, fn.getbufvar(1, 'test')) + eq({ test = true, changedtick = 3 }, fn.getbufvar(1, '')) command('new') - eq(3, funcs.getbufvar(1, 'changedtick')) - eq(true, funcs.getbufvar(1, 'test')) - eq({ test = true, changedtick = 3 }, funcs.getbufvar(1, '')) + eq(3, fn.getbufvar(1, 'changedtick')) + eq(true, fn.getbufvar(1, 'test')) + eq({ test = true, changedtick = 3 }, fn.getbufvar(1, '')) end) end) @@ -273,50 +273,50 @@ describe('setbufvar() function', function() ) eq(0, exc_exec('call setbufvar("#", "&autoindent", 0)')) command('edit ' .. fname2) - eq(2, funcs.bufnr('%')) + eq(2, fn.bufnr('%')) eq( 'Vim(call):E93: More than one match for X', exc_exec('call setbufvar("X", "&autoindent", 0)') ) end) it('may set options, including window-local and global values', function() - local buf1 = meths.nvim_get_current_buf() - eq(false, meths.nvim_get_option_value('number', {})) + local buf1 = api.nvim_get_current_buf() + eq(false, api.nvim_get_option_value('number', {})) command('split') command('new') - eq(2, meths.nvim_buf_get_number(meths.nvim_win_get_buf(0))) - funcs.setbufvar(1, '&number', true) - local windows = meths.nvim_tabpage_list_wins(0) - eq(false, meths.nvim_get_option_value('number', { win = windows[1].id })) - eq(true, meths.nvim_get_option_value('number', { win = windows[2].id })) - eq(false, meths.nvim_get_option_value('number', { win = windows[3].id })) - eq(false, meths.nvim_get_option_value('number', { win = meths.nvim_get_current_win().id })) + eq(2, api.nvim_buf_get_number(api.nvim_win_get_buf(0))) + fn.setbufvar(1, '&number', true) + local windows = api.nvim_tabpage_list_wins(0) + eq(false, api.nvim_get_option_value('number', { win = windows[1].id })) + eq(true, api.nvim_get_option_value('number', { win = windows[2].id })) + eq(false, api.nvim_get_option_value('number', { win = windows[3].id })) + eq(false, api.nvim_get_option_value('number', { win = api.nvim_get_current_win().id })) - eq(true, meths.nvim_get_option_value('hidden', {})) - funcs.setbufvar(1, '&hidden', 0) - eq(false, meths.nvim_get_option_value('hidden', {})) + eq(true, api.nvim_get_option_value('hidden', {})) + fn.setbufvar(1, '&hidden', 0) + eq(false, api.nvim_get_option_value('hidden', {})) - eq(false, meths.nvim_get_option_value('autoindent', { buf = buf1.id })) - funcs.setbufvar(1, '&autoindent', true) - eq(true, meths.nvim_get_option_value('autoindent', { buf = buf1.id })) + eq(false, api.nvim_get_option_value('autoindent', { buf = buf1.id })) + fn.setbufvar(1, '&autoindent', true) + eq(true, api.nvim_get_option_value('autoindent', { buf = buf1.id })) eq('Vim(call):E355: Unknown option: xxx', exc_exec('call setbufvar(1, "&xxx", 0)')) end) it('may set variables', function() - local buf1 = meths.nvim_get_current_buf() + local buf1 = api.nvim_get_current_buf() command('split') command('new') - eq(2, meths.nvim_buf_get_number(0)) - funcs.setbufvar(1, 'number', true) - eq(true, meths.nvim_buf_get_var(buf1, 'number')) + eq(2, api.nvim_buf_get_number(0)) + fn.setbufvar(1, 'number', true) + eq(true, api.nvim_buf_get_var(buf1, 'number')) eq('Vim(call):E461: Illegal variable name: b:', exc_exec('call setbufvar(1, "", 0)')) - eq(true, meths.nvim_buf_get_var(buf1, 'number')) + eq(true, api.nvim_buf_get_var(buf1, 'number')) eq( 'Vim:E46: Cannot change read-only variable "b:changedtick"', - pcall_err(funcs.setbufvar, 1, 'changedtick', true) + pcall_err(fn.setbufvar, 1, 'changedtick', true) ) - eq(2, funcs.getbufvar(1, 'changedtick')) + eq(2, fn.getbufvar(1, 'changedtick')) end) it('throws error when setting a string option to a boolean value vim-patch:9.0.0090', function() - eq('Vim:E928: String required', pcall_err(funcs.setbufvar, '', '&errorformat', true)) + eq('Vim:E928: String required', pcall_err(fn.setbufvar, '', '&errorformat', true)) end) end) -- cgit From 8f02ae82e203920b472d17e75a61763f3a409a7b Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Tue, 16 Jan 2024 13:26:21 +0000 Subject: test: use integers for API Buffer/Window/Tabpage EXT types --- test/functional/vimscript/buf_functions_spec.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'test/functional/vimscript/buf_functions_spec.lua') diff --git a/test/functional/vimscript/buf_functions_spec.lua b/test/functional/vimscript/buf_functions_spec.lua index 5557ce6788..931fe640a9 100644 --- a/test/functional/vimscript/buf_functions_spec.lua +++ b/test/functional/vimscript/buf_functions_spec.lua @@ -243,7 +243,7 @@ describe('getbufvar() function', function() -- But with window-local options it probably does not what you expect command('setl number') -- (note that current window’s buffer is 2, but getbufvar() receives 1) - eq({ id = 2 }, api.nvim_win_get_buf(0)) + eq(2, api.nvim_win_get_buf(0)) eq(1, fn.getbufvar(1, '&number')) eq(1, fn.getbufvar(1, '&l:number')) -- You can get global value though, if you find this useful. @@ -287,18 +287,18 @@ describe('setbufvar() function', function() eq(2, api.nvim_buf_get_number(api.nvim_win_get_buf(0))) fn.setbufvar(1, '&number', true) local windows = api.nvim_tabpage_list_wins(0) - eq(false, api.nvim_get_option_value('number', { win = windows[1].id })) - eq(true, api.nvim_get_option_value('number', { win = windows[2].id })) - eq(false, api.nvim_get_option_value('number', { win = windows[3].id })) - eq(false, api.nvim_get_option_value('number', { win = api.nvim_get_current_win().id })) + eq(false, api.nvim_get_option_value('number', { win = windows[1] })) + eq(true, api.nvim_get_option_value('number', { win = windows[2] })) + eq(false, api.nvim_get_option_value('number', { win = windows[3] })) + eq(false, api.nvim_get_option_value('number', { win = api.nvim_get_current_win() })) eq(true, api.nvim_get_option_value('hidden', {})) fn.setbufvar(1, '&hidden', 0) eq(false, api.nvim_get_option_value('hidden', {})) - eq(false, api.nvim_get_option_value('autoindent', { buf = buf1.id })) + eq(false, api.nvim_get_option_value('autoindent', { buf = buf1 })) fn.setbufvar(1, '&autoindent', true) - eq(true, api.nvim_get_option_value('autoindent', { buf = buf1.id })) + eq(true, api.nvim_get_option_value('autoindent', { buf = buf1 })) eq('Vim(call):E355: Unknown option: xxx', exc_exec('call setbufvar(1, "&xxx", 0)')) end) it('may set variables', function() -- cgit