mirror of
https://github.com/neovim/neovim.git
synced 2026-04-28 02:04:10 +00:00
Merge PR #3687 'Add luacheck for linting tests'
This commit is contained in:
@@ -366,6 +366,8 @@ if(NOT BUSTED_OUTPUT_TYPE)
|
||||
set(BUSTED_OUTPUT_TYPE "utfTerminal")
|
||||
endif()
|
||||
|
||||
find_program(LUACHECK_PRG luacheck)
|
||||
|
||||
include(InstallHelpers)
|
||||
|
||||
file(GLOB MANPAGES
|
||||
@@ -456,3 +458,11 @@ if(BUSTED_PRG)
|
||||
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
||||
DEPENDS ${BENCHMARK_PREREQS})
|
||||
endif()
|
||||
|
||||
if(LUACHECK_PRG)
|
||||
add_custom_target(testlint
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DLUACHECK_PRG=${LUACHECK_PRG}
|
||||
-DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
|
||||
-P ${PROJECT_SOURCE_DIR}/cmake/RunTestsLint.cmake)
|
||||
endif()
|
||||
|
||||
5
Makefile
5
Makefile
@@ -86,6 +86,9 @@ oldtest: | nvim
|
||||
functionaltest: | nvim
|
||||
+$(BUILD_CMD) -C build functionaltest
|
||||
|
||||
testlint: | nvim
|
||||
$(BUILD_CMD) -C build testlint
|
||||
|
||||
test: functionaltest
|
||||
|
||||
unittest: | nvim
|
||||
@@ -110,4 +113,4 @@ lint:
|
||||
-DLINT_SUPPRESS_URL="$(DOC_DOWNLOAD_URL_BASE)$(CLINT_ERRORS_FILE_PATH)" \
|
||||
-P cmake/RunLint.cmake
|
||||
|
||||
.PHONY: test functionaltest unittest lint clean distclean nvim libnvim cmake deps install
|
||||
.PHONY: test testlint functionaltest unittest lint clean distclean nvim libnvim cmake deps install
|
||||
|
||||
11
cmake/RunTestsLint.cmake
Normal file
11
cmake/RunTestsLint.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
execute_process(
|
||||
COMMAND ${LUACHECK_PRG} -q ${TEST_DIR}
|
||||
WORKING_DIRECTORY ${TEST_DIR}
|
||||
ERROR_VARIABLE err
|
||||
RESULT_VARIABLE res
|
||||
${EXTRA_ARGS})
|
||||
|
||||
if(NOT res EQUAL 0)
|
||||
message(STATUS "Output to stderr:\n${err}")
|
||||
message(FATAL_ERROR "Linting tests failed with error: ${res}.")
|
||||
endif()
|
||||
13
test/.luacheckrc
Normal file
13
test/.luacheckrc
Normal file
@@ -0,0 +1,13 @@
|
||||
-- vim: ft=lua tw=80
|
||||
|
||||
-- Don't report globals from luajit or busted (e.g. jit.os or describe).
|
||||
std = '+luajit +busted'
|
||||
|
||||
-- One can't test these files properly; assume correctness.
|
||||
exclude_files = { '*/preload.lua' }
|
||||
|
||||
-- Don't report unused self arguments of methods.
|
||||
self = false
|
||||
|
||||
-- Rerun tests only if their modification time changed.
|
||||
cache = true
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test for benchmarking RE engine.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, execute, wait = helpers.clear, helpers.execute, helpers.wait
|
||||
|
||||
-- Temporary file for gathering benchmarking results for each regexp engine.
|
||||
|
||||
@@ -19,7 +19,7 @@ describe("update_menu notification", function()
|
||||
screen:detach()
|
||||
end)
|
||||
|
||||
function expect_sent(expected)
|
||||
local function expect_sent(expected)
|
||||
screen:wait(function()
|
||||
if screen.update_menu ~= expected then
|
||||
if expected then
|
||||
|
||||
@@ -95,13 +95,13 @@ describe('server -> client', function()
|
||||
eq('notified!', eval('rpcrequest('..cid..', "notify")'))
|
||||
end
|
||||
|
||||
local function on_request(method, args)
|
||||
local function on_request(method)
|
||||
eq('notify', method)
|
||||
eq(1, eval('rpcnotify('..cid..', "notification")'))
|
||||
return 'notified!'
|
||||
end
|
||||
|
||||
local function on_notification(method, args)
|
||||
local function on_notification(method)
|
||||
eq('notification', method)
|
||||
if notified == expected then
|
||||
stop()
|
||||
|
||||
@@ -180,6 +180,8 @@ describe('vim_* functions', function()
|
||||
end)
|
||||
|
||||
describe('err_write', function()
|
||||
local screen
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
screen = Screen.new(40, 8)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-- Sanity checks for window_* API calls via msgpack-rpc
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, nvim, buffer, curbuf, curbuf_contents, window, curwin, eq, neq,
|
||||
ok, feed, rawfeed, insert, eval = helpers.clear, helpers.nvim, helpers.buffer, helpers.curbuf,
|
||||
local clear, nvim, curbuf, curbuf_contents, window, curwin, eq, neq,
|
||||
ok, feed, insert, eval = helpers.clear, helpers.nvim, helpers.curbuf,
|
||||
helpers.curbuf_contents, helpers.window, helpers.curwin, helpers.eq,
|
||||
helpers.neq, helpers.ok, helpers.feed, helpers.rawfeed, helpers.insert, helpers.eval
|
||||
helpers.neq, helpers.ok, helpers.feed, helpers.insert, helpers.eval
|
||||
local wait = helpers.wait
|
||||
|
||||
-- check if str is visible at the beginning of some line
|
||||
@@ -54,7 +54,7 @@ describe('window_* functions', function()
|
||||
insert("prologue")
|
||||
feed('100o<esc>')
|
||||
insert("epilogue")
|
||||
win = curwin()
|
||||
local win = curwin()
|
||||
feed('gg')
|
||||
wait() -- let nvim process the 'gg' command
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, nvim, buffer, curbuf, curwin, eq, neq, ok =
|
||||
helpers.clear, helpers.nvim, helpers.buffer, helpers.curbuf, helpers.curwin,
|
||||
helpers.eq, helpers.neq, helpers.ok
|
||||
local clear, nvim, eq = helpers.clear, helpers.nvim, helpers.eq
|
||||
|
||||
describe('TabClosed', function()
|
||||
describe('au TabClosed', function()
|
||||
@@ -20,7 +18,6 @@ describe('TabClosed', function()
|
||||
end)
|
||||
describe('with NR as <afile>', function()
|
||||
it('matches when closing a tab whose index is NR', function()
|
||||
tmp_path = nvim('eval', 'tempname()')
|
||||
nvim('command', 'au! TabClosed 2 echom "tabclosed:match"')
|
||||
repeat
|
||||
nvim('command', 'tabnew')
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, nvim, buffer, curbuf, curwin, eq, neq, ok =
|
||||
helpers.clear, helpers.nvim, helpers.buffer, helpers.curbuf, helpers.curwin,
|
||||
helpers.eq, helpers.neq, helpers.ok
|
||||
local clear, nvim, eq = helpers.clear, helpers.nvim, helpers.eq
|
||||
|
||||
describe('TabNew', function()
|
||||
setup(clear)
|
||||
@@ -15,7 +13,7 @@ describe('TabNew', function()
|
||||
end)
|
||||
describe('with FILE as <afile>', function()
|
||||
it('matches when opening a new tab for FILE', function()
|
||||
tmp_path = nvim('eval', 'tempname()')
|
||||
local tmp_path = nvim('eval', 'tempname()')
|
||||
nvim('command', 'au! TabNew '..tmp_path..' echom "tabnew:match"')
|
||||
eq("\ntabnew:4:3\ntabnew:match\n\""..tmp_path.."\" [New File]", nvim('command_output', 'tabnew '..tmp_path))
|
||||
end)
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, nvim, buffer, curbuf, curwin, eq, neq, ok =
|
||||
helpers.clear, helpers.nvim, helpers.buffer, helpers.curbuf, helpers.curwin,
|
||||
helpers.eq, helpers.neq, helpers.ok
|
||||
local clear, nvim, eq = helpers.clear, helpers.nvim, helpers.eq
|
||||
|
||||
describe('TabNewEntered', function()
|
||||
describe('au TabNewEntered', function()
|
||||
@@ -15,7 +13,7 @@ describe('TabNewEntered', function()
|
||||
end)
|
||||
describe('with FILE as <afile>', function()
|
||||
it('matches when opening a new tab for FILE', function()
|
||||
tmp_path = nvim('eval', 'tempname()')
|
||||
local tmp_path = nvim('eval', 'tempname()')
|
||||
nvim('command', 'au! TabNewEntered '..tmp_path..' echom "tabnewentered:match"')
|
||||
eq("\n\""..tmp_path.."\" [New File]\ntabnewentered:4:4\ntabnewentered:match", nvim('command_output', 'tabnew '..tmp_path))
|
||||
end)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
|
||||
local clear, eval, execute, feed, nvim, nvim_dir = helpers.clear, helpers.eval,
|
||||
local clear, execute, feed, nvim, nvim_dir = helpers.clear,
|
||||
helpers.execute, helpers.feed, helpers.nvim, helpers.nvim_dir
|
||||
local wait = helpers.wait
|
||||
|
||||
describe('TermClose event', function()
|
||||
local screen
|
||||
before_each(function()
|
||||
clear()
|
||||
nvim('set_option', 'shell', nvim_dir .. '/shell-test')
|
||||
|
||||
@@ -4,7 +4,6 @@ local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute, expect, eq, eval = helpers.execute, helpers.expect, helpers.eq, helpers.eval
|
||||
local nvim, run, stop, restart = helpers.nvim, helpers.run, helpers.stop, helpers.restart
|
||||
|
||||
local function basic_register_test(noblock)
|
||||
insert("some words")
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
local lfs = require('lfs')
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, execute, eval, eq = helpers.clear, helpers.execute, helpers.eval, helpers.eq
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute
|
||||
local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq
|
||||
local execute, source = helpers.execute, helpers.source
|
||||
local clear = helpers.clear
|
||||
local eval, eq = helpers.eval, helpers.eq
|
||||
local execute = helpers.execute
|
||||
local nvim = helpers.nvim
|
||||
local exc_exec = helpers.exc_exec
|
||||
|
||||
@@ -454,9 +454,9 @@ describe('msgpackparse() function', function()
|
||||
it('msgpackparse(systemlist(...)) does not segfault. #3135', function()
|
||||
local cmd = "sort(keys(msgpackparse(systemlist('"
|
||||
..helpers.nvim_prog.." --api-info'))[0]))"
|
||||
local api_info = eval(cmd)
|
||||
api_info = eval(cmd) -- do it again (try to force segfault)
|
||||
api_info = eval(cmd) -- do it again
|
||||
eval(cmd)
|
||||
eval(cmd) -- do it again (try to force segfault)
|
||||
local api_info = eval(cmd) -- do it again
|
||||
eq({'error_types', 'functions', 'types'}, api_info)
|
||||
end)
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, execute, nvim, feed, eq, ok, eval =
|
||||
helpers.clear, helpers.execute, helpers.nvim, helpers.feed,
|
||||
helpers.eq, helpers.ok, helpers.eval
|
||||
local clear, execute, feed, ok, eval =
|
||||
helpers.clear, helpers.execute, helpers.feed, helpers.ok, helpers.eval
|
||||
|
||||
describe(':grep', function()
|
||||
before_each(clear)
|
||||
|
||||
@@ -2,7 +2,7 @@ local Screen = require('test.functional.ui.screen')
|
||||
local helpers = require('test.functional.helpers')
|
||||
|
||||
local buf, eq, execute = helpers.curbufmeths, helpers.eq, helpers.execute
|
||||
local feed, nvim, nvim_prog = helpers.feed, helpers.nvim, helpers.nvim_prog
|
||||
local feed, nvim_prog = helpers.feed, helpers.nvim_prog
|
||||
local ok, set_session, spawn = helpers.ok, helpers.set_session, helpers.spawn
|
||||
|
||||
local shada_file = 'test.shada'
|
||||
@@ -11,9 +11,6 @@ local shada_file = 'test.shada'
|
||||
-- helpers.clear() uses "-i NONE", which is not useful for this test.
|
||||
--
|
||||
local function _clear()
|
||||
if session then
|
||||
session:exit(0)
|
||||
end
|
||||
set_session(spawn({nvim_prog,
|
||||
'-u', 'NONE',
|
||||
'--cmd', 'set noswapfile undodir=. directory=. viewdir=. backupdir=.',
|
||||
@@ -32,7 +29,7 @@ describe(':oldfiles', function()
|
||||
end
|
||||
|
||||
it('shows most recently used files', function()
|
||||
screen = Screen.new(100, 5)
|
||||
local screen = Screen.new(100, 5)
|
||||
screen:attach()
|
||||
execute('edit testfile1')
|
||||
execute('edit testfile2')
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
require('os')
|
||||
require('lfs')
|
||||
local lfs = require('lfs')
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local eval = helpers.eval
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local execute, eq, clear = helpers.execute, helpers.eq, helpers.clear
|
||||
local clear = helpers.clear
|
||||
|
||||
describe(':qa', function()
|
||||
before_each(function()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
-- Tests for :recover
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local lfs = require('lfs')
|
||||
local execute, eq, clear, eval, feed, expect, source =
|
||||
helpers.execute, helpers.eq, helpers.clear, helpers.eval, helpers.feed,
|
||||
helpers.expect, helpers.source
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, nvim, buffer, curbuf, curwin, eq, ok =
|
||||
helpers.clear, helpers.nvim, helpers.buffer, helpers.curbuf, helpers.curwin,
|
||||
helpers.eq, helpers.ok
|
||||
local clear, nvim, eq = helpers.clear, helpers.nvim, helpers.eq
|
||||
|
||||
describe('sign', function()
|
||||
before_each(clear)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local helpers, lfs = require('test.functional.helpers'), require('lfs')
|
||||
local clear, execute, eq, neq, spawn, nvim_prog, set_session, wait, write_file
|
||||
= helpers.clear, helpers.execute, helpers.eq, helpers.neq, helpers.spawn,
|
||||
local execute, eq, neq, spawn, nvim_prog, set_session, wait, write_file
|
||||
= helpers.execute, helpers.eq, helpers.neq, helpers.spawn,
|
||||
helpers.nvim_prog, helpers.set_session, helpers.wait, helpers.write_file
|
||||
|
||||
describe(':wshada', function()
|
||||
@@ -13,7 +13,7 @@ describe(':wshada', function()
|
||||
end
|
||||
|
||||
-- Override the default session because we need 'swapfile' for these tests.
|
||||
local session = spawn({nvim_prog, '-u', 'NONE', '-i', '/dev/null', '--embed',
|
||||
session = spawn({nvim_prog, '-u', 'NONE', '-i', '/dev/null', '--embed',
|
||||
'--cmd', 'set swapfile'})
|
||||
set_session(session)
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
require('coxpcall')
|
||||
local lfs = require('lfs')
|
||||
local assert = require('luassert')
|
||||
local Loop = require('nvim.loop')
|
||||
local MsgpackStream = require('nvim.msgpack_stream')
|
||||
@@ -55,7 +56,7 @@ if prepend_argv then
|
||||
nvim_argv = new_nvim_argv
|
||||
end
|
||||
|
||||
local session, loop_running, loop_stopped, last_error
|
||||
local session, loop_running, last_error
|
||||
|
||||
local function set_session(s)
|
||||
session = s
|
||||
@@ -79,7 +80,7 @@ local function next_message()
|
||||
end
|
||||
|
||||
local function call_and_stop_on_error(...)
|
||||
local status, result = copcall(...)
|
||||
local status, result = copcall(...) -- luacheck: ignore
|
||||
if not status then
|
||||
session:stop()
|
||||
last_error = result
|
||||
@@ -109,7 +110,6 @@ local function run(request_cb, notification_cb, setup_cb, timeout)
|
||||
end
|
||||
end
|
||||
|
||||
loop_stopped = false
|
||||
loop_running = true
|
||||
session:run(on_request, on_notification, on_setup, timeout)
|
||||
loop_running = false
|
||||
@@ -121,7 +121,6 @@ local function run(request_cb, notification_cb, setup_cb, timeout)
|
||||
end
|
||||
|
||||
local function stop()
|
||||
loop_stopped = true
|
||||
session:stop()
|
||||
end
|
||||
|
||||
@@ -197,9 +196,9 @@ local function spawn(argv, merge)
|
||||
local loop = Loop.new()
|
||||
local msgpack_stream = MsgpackStream.new(loop)
|
||||
local async_session = AsyncSession.new(msgpack_stream)
|
||||
local session = Session.new(async_session)
|
||||
local sess = Session.new(async_session)
|
||||
loop:spawn(merge and merge_args(prepend_argv, argv) or argv)
|
||||
return session
|
||||
return sess
|
||||
end
|
||||
|
||||
local function clear(extra_cmd)
|
||||
@@ -332,14 +331,14 @@ local function rmdir(path)
|
||||
if file == '.' or file == '..' then
|
||||
goto continue
|
||||
end
|
||||
ret, err = os.remove(path..'/'..file)
|
||||
local ret, err = os.remove(path..'/'..file)
|
||||
if not ret then
|
||||
error('os.remove: '..err)
|
||||
return nil
|
||||
end
|
||||
::continue::
|
||||
end
|
||||
ret, err = os.remove(path)
|
||||
local ret, err = os.remove(path)
|
||||
if not ret then
|
||||
error('os.remove: '..err)
|
||||
end
|
||||
@@ -371,15 +370,15 @@ local function redir_exec(cmd)
|
||||
end
|
||||
|
||||
local function create_callindex(func)
|
||||
local tbl = {}
|
||||
setmetatable(tbl, {
|
||||
local table = {}
|
||||
setmetatable(table, {
|
||||
__index = function(tbl, arg1)
|
||||
ret = function(...) return func(arg1, ...) end
|
||||
local ret = function(...) return func(arg1, ...) end
|
||||
tbl[arg1] = ret
|
||||
return ret
|
||||
end,
|
||||
})
|
||||
return tbl
|
||||
return table
|
||||
end
|
||||
|
||||
local funcs = create_callindex(nvim_call)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, eq, eval, execute, expect, feed, insert, neq, next_msg, nvim,
|
||||
nvim_dir, ok, run, session, source, stop, wait, write_file = helpers.clear,
|
||||
helpers.eq, helpers.eval, helpers.execute, helpers.expect, helpers.feed,
|
||||
local clear, eq, eval, execute, feed, insert, neq, next_msg, nvim,
|
||||
nvim_dir, ok, source, write_file = helpers.clear,
|
||||
helpers.eq, helpers.eval, helpers.execute, helpers.feed,
|
||||
helpers.insert, helpers.neq, helpers.next_message, helpers.nvim,
|
||||
helpers.nvim_dir, helpers.ok, helpers.run, helpers.session, helpers.source,
|
||||
helpers.stop, helpers.wait, helpers.write_file
|
||||
helpers.nvim_dir, helpers.ok, helpers.source,
|
||||
helpers.write_file
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
|
||||
|
||||
@@ -370,7 +370,7 @@ describe('jobs', function()
|
||||
|
||||
describe('running tty-test program', function()
|
||||
local function next_chunk()
|
||||
local rv = ''
|
||||
local rv
|
||||
while true do
|
||||
local msg = next_msg()
|
||||
local data = msg[3][2]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
-- in the original test. These have been converted to "it" test cases here.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
-- Inserts text as usual, and additionally positions the cursor on line 1 and
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test for Bufleave autocommand that deletes the buffer we are about to edit.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, insert = helpers.clear, helpers.insert
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('BufLeave autocommand', function()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-- Also test undo after ":%s" and formatting.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('alignment', function()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Tests for file with some lines ending in CTRL-M, some not
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('line ending', function()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Tests for complicated + argument to :edit command
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, insert = helpers.clear, helpers.insert
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe(':edit', function()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test for :execute, :while and :if
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear = helpers.clear
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local source = helpers.source
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
-- Test for expanding file names
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local execute = helpers.execute
|
||||
local curbuf_contents = helpers.curbuf_contents
|
||||
local eq, eval = helpers.eq, helpers.eval
|
||||
local eq = helpers.eq
|
||||
|
||||
describe('expand file name', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test for joining lines with marks in them (and with 'joinspaces' set/reset)
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('joining lines', function()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
-- :edit
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('Commands that close windows and/or buffers', function()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test Virtual replace mode.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed = helpers.feed
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('Virtual replace mode', function()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
-- This test contains both "test44" and "test99" from the old test suite.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
-- Runs the test protocol with the given 'regexpengine' setting. In the old test
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local expect = helpers.expect
|
||||
|
||||
describe('multi-line regexp', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local wait = helpers.wait
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local expect = helpers.expect
|
||||
|
||||
describe('source function', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for the exists() and has() functions.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local source = helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
local write_file = helpers.write_file
|
||||
|
||||
describe('exists() and has() functions', function()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for undo tree and :earlier and :later.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source, eq, eval, clear, execute, expect, wait, write_file
|
||||
= helpers.feed, helpers.insert, helpers.source, helpers.eq, helpers.eval,
|
||||
local feed, source, eq, eval, clear, execute, expect, wait, write_file =
|
||||
helpers.feed, helpers.source, helpers.eq, helpers.eval,
|
||||
helpers.clear, helpers.execute, helpers.expect, helpers.wait,
|
||||
helpers.write_file
|
||||
|
||||
@@ -97,9 +97,8 @@ describe('undo tree:', function()
|
||||
|
||||
-- Retry up to 3 times. pcall() is _not_ used for the final attempt, so
|
||||
-- that failure messages can bubble up.
|
||||
local success, result = false, ''
|
||||
for i = 1, 2 do
|
||||
success, result = pcall(test_earlier_later)
|
||||
for _ = 1, 2 do
|
||||
local success = pcall(test_earlier_later)
|
||||
if success then
|
||||
return
|
||||
end
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local eval, clear, execute, expect = helpers.eval, helpers.clear, helpers.execute
|
||||
local expect, eq, neq = helpers.expect, helpers.eq, helpers.neq
|
||||
local command = helpers.command
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local eval, clear, execute = helpers.eval, helpers.clear, helpers.execute
|
||||
local eq, neq = helpers.eq, helpers.neq
|
||||
|
||||
describe('063: Test for ":match", "matchadd()" and related functions', function()
|
||||
setup(clear)
|
||||
@@ -86,7 +85,7 @@ describe('063: Test for ":match", "matchadd()" and related functions', function(
|
||||
execute("2match MyGroup2 /HUMPPA/")
|
||||
execute("3match MyGroup3 /VIM/")
|
||||
execute("let ml = getmatches()")
|
||||
ml = eval("ml")
|
||||
local ml = eval("ml")
|
||||
execute("call clearmatches()")
|
||||
execute("call setmatches(ml)")
|
||||
eq(ml, eval('getmatches()'))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test for floating point and logical operators.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('floating point and logical operators', function()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
-- autocommands.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear = helpers.clear
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('augroup when calling exists()', function()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-- undo-able pieces. Do that by setting 'undolevels'.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('72', function()
|
||||
|
||||
@@ -13,7 +13,7 @@ describe('storing global variables in ShaDa files', function()
|
||||
end)
|
||||
|
||||
it('is working', function()
|
||||
local nvim2 = helpers.spawn({helpers.nvim_prog, '-u', 'NONE',
|
||||
local nvim2 = spawn({helpers.nvim_prog, '-u', 'NONE',
|
||||
'-i', 'Xviminfo', '--embed'})
|
||||
helpers.set_session(nvim2)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
-- Also test utf8 map with a 0x80 byte.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('maparg()', function()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
-- If it isn't available then the test will be skipped.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed = helpers.feed
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('mf_hash_grow()', function()
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
-- pointer blocks.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect, source = helpers.clear, helpers.execute, helpers.expect, helpers.source
|
||||
local eval = helpers.eval
|
||||
local clear, expect, source = helpers.clear, helpers.expect, helpers.source
|
||||
|
||||
describe('78', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-- Test for *:s%* on :substitute.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local eq, eval = helpers.eq, helpers.eval
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
-- Also test "g~ap".
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, source = helpers.feed, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('case-insensitive string comparison in UTF-8', function()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for curswant not changing when setting an option.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('curswant', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed = helpers.feed
|
||||
local clear, execute, expect, source = helpers.clear, helpers.execute, helpers.expect, helpers.source
|
||||
local clear, expect, source = helpers.clear, helpers.expect, helpers.source
|
||||
|
||||
describe("setting 'number' and 'relativenumber'", function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for sha256() function.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('sha256()', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('context variables', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
-- Same as legacy test 93 but using UTF-8 file encoding.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('store cursor position in session file in UTF-8', function()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
-- Same as legacy test 92 but using Latin-1 file encoding.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local feed, insert = helpers.feed, helpers.insert
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('store cursor position in session file in Latin-1', function()
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
-- actually tried.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('regex with multi-byte', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
-- it belongs to.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local source = helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('location list', function()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-- characters.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear = helpers.clear
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('glob() and globpath()', function()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Test for 'scrollbind' causing an unexpected scroll of one of the windows.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local source = helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('scrollbind', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for 'undolevel' setting being global-local
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local source = helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('undolevel', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
-- Test for v:hlsearch
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local eval = helpers.eval
|
||||
|
||||
describe('v:hlsearch', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test if fnameescape is correct for special chars like!
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear = helpers.clear
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('fnameescape', function()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Test for visual mode not being reset causing E315 error.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local feed, source = helpers.feed, helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('E315 error', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Test filename modifiers.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear = helpers.clear
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('filename modifiers', function()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Tests for errorformat.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear = helpers.clear
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
|
||||
describe('errorformat', function()
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local insert = helpers.insert
|
||||
local clear, execute = helpers.clear, helpers.execute
|
||||
|
||||
describe('107', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Test for linebreak and list option in utf-8 mode
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local source = helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('linebreak', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Tests for nested function.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local clear, insert = helpers.clear, helpers.insert
|
||||
local execute, expect, source = helpers.execute, helpers.expect, helpers.source
|
||||
|
||||
describe('test_nested_function', function()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Tests for quickfix window's title
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
local insert, source = helpers.insert, helpers.source
|
||||
local clear, expect = helpers.clear, helpers.expect
|
||||
|
||||
describe('qf_title', function()
|
||||
setup(clear)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
-- Tests for signs
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('signs', function()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
-- Tests for writefile()
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('writefile', function()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local execute, eq, clear, eval, feed, ok =
|
||||
helpers.execute, helpers.eq, helpers.clear, helpers.eval,
|
||||
helpers.feed, helpers.ok
|
||||
local eq, clear, eval, feed =
|
||||
helpers.eq, helpers.clear, helpers.eval, helpers.feed
|
||||
|
||||
describe('K', function()
|
||||
local test_file = 'K_spec_out'
|
||||
|
||||
@@ -9,15 +9,15 @@ local additional_cmd = ''
|
||||
local function nvim_argv(shada_file)
|
||||
local rtp_value = ('\'%s/runtime\''):format(
|
||||
paths.test_source_path:gsub('\'', '\'\''))
|
||||
local nvim_argv = {nvim_prog, '-u', 'NORC', '-i', shada_file or 'NONE', '-N',
|
||||
local nvim_args = {nvim_prog, '-u', 'NORC', '-i', shada_file or 'NONE', '-N',
|
||||
'--cmd', 'set shortmess+=I background=light noswapfile',
|
||||
'--cmd', 'let &runtimepath=' .. rtp_value,
|
||||
'--cmd', additional_cmd,
|
||||
'--embed'}
|
||||
if helpers.prepend_argv then
|
||||
return merge_args(helpers.prepend_argv, nvim_argv)
|
||||
return merge_args(helpers.prepend_argv, nvim_args)
|
||||
else
|
||||
return nvim_argv
|
||||
return nvim_args
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ local reset = plugin_helpers.reset
|
||||
|
||||
local shada_helpers = require('test.functional.shada.helpers')
|
||||
local get_shada_rw = shada_helpers.get_shada_rw
|
||||
local read_shada_file = shada_helpers.read_shada_file
|
||||
|
||||
local mpack_eq = function(expected, mpack_result)
|
||||
local mpack_keys = {'type', 'timestamp', 'length', 'value'}
|
||||
@@ -96,10 +95,10 @@ describe('In autoload/shada.vim', function()
|
||||
return a[1] < b[1]
|
||||
end)
|
||||
local state = {i=0}
|
||||
return (function(state, var)
|
||||
state.i = state.i + 1
|
||||
if ret[state.i] then
|
||||
return table.unpack(ret[state.i])
|
||||
return (function(state_, _)
|
||||
state_.i = state_.i + 1
|
||||
if ret[state_.i] then
|
||||
return table.unpack(ret[state_.i])
|
||||
end
|
||||
end), state
|
||||
end
|
||||
@@ -2103,8 +2102,8 @@ describe('In plugin/shada.vim', function()
|
||||
os.remove(fname_tmp)
|
||||
end)
|
||||
|
||||
local shada_eq = function(expected, fname)
|
||||
local fd = io.open(fname)
|
||||
local shada_eq = function(expected, fname_)
|
||||
local fd = io.open(fname_)
|
||||
local mpack_result = fd:read('*a')
|
||||
fd:close()
|
||||
mpack_eq(expected, mpack_result)
|
||||
@@ -2574,6 +2573,7 @@ describe('syntax/shada.vim', function()
|
||||
'ShaDaEntryMapHeader'}, s} end
|
||||
local ah = function(s) return {{'ShaDaEntryArray',
|
||||
'ShaDaEntryArrayHeader'}, s} end
|
||||
-- luacheck: ignore
|
||||
local mses = function(s) return {{'ShaDaEntryMapShort',
|
||||
'ShaDaEntryMapShortEntryStart'}, s} end
|
||||
local mles = function(s) return {{'ShaDaEntryMapLong',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local eval, command, nvim = helpers.eval, helpers.command, helpers.nvim
|
||||
local eq, run, stop = helpers.eq, helpers.run, helpers.stop
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local clear = helpers.clear
|
||||
|
||||
|
||||
local function get_prefix(sync)
|
||||
@@ -12,8 +12,8 @@ local function get_prefix(sync)
|
||||
end
|
||||
|
||||
|
||||
local function call(fn, args)
|
||||
command('call '..fn..'('..args..')')
|
||||
local function call(fn, arguments)
|
||||
command('call '..fn..'('..arguments..')')
|
||||
end
|
||||
|
||||
|
||||
@@ -87,9 +87,9 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('RpcCommand arg1 arg2 arg3')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({'arg1', 'arg2', 'arg3'}, args[1])
|
||||
eq({'arg1', 'arg2', 'arg3'}, arguments[1])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -104,9 +104,9 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('1,1RpcCommand')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({1, 1}, args[1])
|
||||
eq({1, 1}, arguments[1])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -121,10 +121,10 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('1,1RpcCommand arg')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({'arg'}, args[1])
|
||||
eq({1, 1}, args[2])
|
||||
eq({'arg'}, arguments[1])
|
||||
eq({1, 1}, arguments[2])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -139,10 +139,10 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('5RpcCommand arg')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({'arg'}, args[1])
|
||||
eq(5, args[2])
|
||||
eq({'arg'}, arguments[1])
|
||||
eq(5, arguments[2])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -157,11 +157,11 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('5RpcCommand! arg')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({'arg'}, args[1])
|
||||
eq(5, args[2])
|
||||
eq(1, args[3])
|
||||
eq({'arg'}, arguments[1])
|
||||
eq(5, arguments[2])
|
||||
eq(1, arguments[3])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -177,12 +177,12 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('5RpcCommand! b arg')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({'arg'}, args[1])
|
||||
eq(5, args[2])
|
||||
eq(1, args[3])
|
||||
eq('b', args[4])
|
||||
eq({'arg'}, arguments[1])
|
||||
eq(5, arguments[2])
|
||||
eq(1, arguments[3])
|
||||
eq('b', arguments[4])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -199,13 +199,13 @@ local function command_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('5RpcCommand! b arg')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({'arg'}, args[1])
|
||||
eq(5, args[2])
|
||||
eq(1, args[3])
|
||||
eq('b', args[4])
|
||||
eq('regb', args[5])
|
||||
eq({'arg'}, arguments[1])
|
||||
eq(5, arguments[2])
|
||||
eq(1, arguments[3])
|
||||
eq('b', arguments[4])
|
||||
eq('regb', arguments[5])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -243,7 +243,7 @@ local function autocmd_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('doautocmd BufEnter x.c')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method)
|
||||
eq('test-handler', method)
|
||||
return ''
|
||||
end
|
||||
@@ -259,9 +259,9 @@ local function autocmd_specs_for(fn, sync, first_arg_factory, init)
|
||||
command('doautocmd BufEnter x.c')
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq('x.c', args[1])
|
||||
eq('x.c', arguments[1])
|
||||
return ''
|
||||
end
|
||||
|
||||
@@ -303,9 +303,9 @@ local function function_specs_for(fn, sync, first_arg_factory, init)
|
||||
end
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({{1, 'a', {'b', 'c'}}}, args)
|
||||
eq({{1, 'a', {'b', 'c'}}}, arguments)
|
||||
return 'rv'
|
||||
end
|
||||
|
||||
@@ -324,9 +324,9 @@ local function function_specs_for(fn, sync, first_arg_factory, init)
|
||||
end
|
||||
end
|
||||
|
||||
local function handler(method, args)
|
||||
local function handler(method, arguments)
|
||||
eq('test-handler', method)
|
||||
eq({{1, 'a', {'b', 'c'}}, 4}, args)
|
||||
eq({{1, 'a', {'b', 'c'}}, 4}, arguments)
|
||||
return 'rv'
|
||||
end
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local nvim, eq, neq, ok, eval
|
||||
= helpers.nvim, helpers.eq, helpers.neq, helpers.ok, helpers.eval
|
||||
local nvim, eq, neq, eval = helpers.nvim, helpers.eq, helpers.neq, helpers.eval
|
||||
local clear = helpers.clear
|
||||
|
||||
describe('serverstart(), serverstop()', function()
|
||||
|
||||
@@ -9,8 +9,8 @@ local reset, set_additional_cmd, clear =
|
||||
shada_helpers.clear
|
||||
|
||||
describe('ShaDa support code', function()
|
||||
testfilename = 'Xtestfile-functional-shada-buffers'
|
||||
testfilename_2 = 'Xtestfile-functional-shada-buffers-2'
|
||||
local testfilename = 'Xtestfile-functional-shada-buffers'
|
||||
local testfilename_2 = 'Xtestfile-functional-shada-buffers-2'
|
||||
before_each(reset)
|
||||
after_each(clear)
|
||||
|
||||
|
||||
@@ -4,9 +4,8 @@ local nvim_command, funcs, eq = helpers.command, helpers.funcs, helpers.eq
|
||||
local exc_exec = helpers.exc_exec
|
||||
|
||||
local shada_helpers = require('test.functional.shada.helpers')
|
||||
local reset, set_additional_cmd, clear, get_shada_rw =
|
||||
shada_helpers.reset, shada_helpers.set_additional_cmd,
|
||||
shada_helpers.clear, shada_helpers.get_shada_rw
|
||||
local reset, clear, get_shada_rw = shada_helpers.reset, shada_helpers.clear,
|
||||
shada_helpers.get_shada_rw
|
||||
local read_shada_file = shada_helpers.read_shada_file
|
||||
|
||||
local wshada, sdrcmd, shada_fname = get_shada_rw('Xtest-functional-shada-compatibility.shada')
|
||||
@@ -181,7 +180,7 @@ describe('ShaDa forward compatibility support code', function()
|
||||
end
|
||||
eq(3, found)
|
||||
nvim_command('wshada! ' .. shada_fname)
|
||||
local found = 0
|
||||
found = 0
|
||||
for i, subv in ipairs(read_shada_file(shada_fname)) do
|
||||
if i == 1 then
|
||||
eq(1, subv.type)
|
||||
@@ -249,7 +248,7 @@ describe('ShaDa forward compatibility support code', function()
|
||||
end
|
||||
eq(1, found)
|
||||
nvim_command('wshada! ' .. shada_fname)
|
||||
local found = 0
|
||||
found = 0
|
||||
for i, v in ipairs(read_shada_file(shada_fname)) do
|
||||
if i == 1 then
|
||||
eq(1, v.type)
|
||||
@@ -289,7 +288,7 @@ describe('ShaDa forward compatibility support code', function()
|
||||
end
|
||||
eq(1, found)
|
||||
nvim_command('wshada! ' .. shada_fname)
|
||||
local found = 0
|
||||
found = 0
|
||||
for i, v in ipairs(read_shada_file(shada_fname)) do
|
||||
if i == 1 then
|
||||
eq(1, v.type)
|
||||
@@ -395,7 +394,7 @@ describe('ShaDa forward compatibility support code', function()
|
||||
end
|
||||
eq(1, found)
|
||||
nvim_command('wshada! ' .. shada_fname)
|
||||
local found = 0
|
||||
found = 0
|
||||
for i, v in ipairs(read_shada_file(shada_fname)) do
|
||||
if i == 1 then
|
||||
eq(1, v.type)
|
||||
@@ -432,7 +431,7 @@ describe('ShaDa forward compatibility support code', function()
|
||||
end
|
||||
eq(1, found)
|
||||
nvim_command('wshada! ' .. shada_fname)
|
||||
local found = 0
|
||||
found = 0
|
||||
for i, v in ipairs(read_shada_file(shada_fname)) do
|
||||
if i == 1 then
|
||||
eq(1, v.type)
|
||||
|
||||
@@ -9,15 +9,14 @@ local tmpname = os.tmpname()
|
||||
local additional_cmd = ''
|
||||
|
||||
local function nvim_argv()
|
||||
local ret
|
||||
local nvim_argv = {nvim_prog, '-u', 'NONE', '-i', tmpname, '-N',
|
||||
'--cmd', 'set shortmess+=I background=light noswapfile',
|
||||
'--cmd', additional_cmd,
|
||||
'--embed'}
|
||||
local argv = {nvim_prog, '-u', 'NONE', '-i', tmpname, '-N',
|
||||
'--cmd', 'set shortmess+=I background=light noswapfile',
|
||||
'--cmd', additional_cmd,
|
||||
'--embed'}
|
||||
if helpers.prepend_argv then
|
||||
return merge_args(helpers.prepend_argv, nvim_argv)
|
||||
return merge_args(helpers.prepend_argv, argv)
|
||||
else
|
||||
return nvim_argv
|
||||
return argv
|
||||
end
|
||||
end
|
||||
|
||||
@@ -88,7 +87,6 @@ return {
|
||||
reset=reset,
|
||||
set_additional_cmd=set_additional_cmd,
|
||||
clear=clear,
|
||||
exc_exec=exc_exec,
|
||||
get_shada_rw=get_shada_rw,
|
||||
read_shada_file=read_shada_file,
|
||||
}
|
||||
|
||||
@@ -15,15 +15,15 @@ local nvim_current_line = function()
|
||||
end
|
||||
|
||||
describe('ShaDa support code', function()
|
||||
testfilename = 'Xtestfile-functional-shada-marks'
|
||||
testfilename_2 = 'Xtestfile-functional-shada-marks-2'
|
||||
local testfilename = 'Xtestfile-functional-shada-marks'
|
||||
local testfilename_2 = 'Xtestfile-functional-shada-marks-2'
|
||||
before_each(function()
|
||||
reset()
|
||||
local fd = io.open(testfilename, 'w')
|
||||
fd:write('test\n')
|
||||
fd:write('test2\n')
|
||||
fd:close()
|
||||
local fd = io.open(testfilename_2, 'w')
|
||||
fd = io.open(testfilename_2, 'w')
|
||||
fd:write('test3\n')
|
||||
fd:write('test4\n')
|
||||
fd:close()
|
||||
@@ -115,7 +115,7 @@ describe('ShaDa support code', function()
|
||||
eq(tf_full, oldfiles[1])
|
||||
eq(tf_full_2, oldfiles[2])
|
||||
nvim_command('rshada!')
|
||||
local oldfiles = meths.get_vvar('oldfiles')
|
||||
oldfiles = meths.get_vvar('oldfiles')
|
||||
table.sort(oldfiles)
|
||||
eq(2, #oldfiles)
|
||||
eq(testfilename, oldfiles[1]:sub(-#testfilename))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- ShaDa merging data support
|
||||
local helpers = require('test.functional.helpers')
|
||||
local nvim_command, meths, funcs, curbufmeths, eq =
|
||||
helpers.command, helpers.meths, helpers.funcs,
|
||||
local nvim_command, funcs, curbufmeths, eq =
|
||||
helpers.command, helpers.funcs,
|
||||
helpers.curbufmeths, helpers.eq
|
||||
local exc_exec, redir_exec = helpers.exc_exec, helpers.redir_exec
|
||||
|
||||
@@ -870,7 +870,7 @@ describe('ShaDa jumps support code', function()
|
||||
end
|
||||
wshada(shada)
|
||||
eq(0, exc_exec(sdrcmd()))
|
||||
local shada = ''
|
||||
shada = ''
|
||||
for i = 1,101 do
|
||||
local t = i * 2
|
||||
shada = shada .. (
|
||||
@@ -964,7 +964,7 @@ describe('ShaDa changes support code', function()
|
||||
end
|
||||
wshada(shada)
|
||||
eq(0, exc_exec(sdrcmd()))
|
||||
local shada = ''
|
||||
shada = ''
|
||||
for i = 1,101 do
|
||||
local t = i * 2
|
||||
shada = shada .. (
|
||||
@@ -1001,7 +1001,7 @@ describe('ShaDa changes support code', function()
|
||||
end
|
||||
wshada(shada)
|
||||
eq(0, exc_exec(sdrcmd()))
|
||||
local shada = ''
|
||||
shada = ''
|
||||
for i = 1,100 do
|
||||
shada = shada .. ('\011%c\018\131\162mX\195\161f\196\006/a/b/c\161l%c'
|
||||
):format(i, i)
|
||||
|
||||
@@ -133,7 +133,7 @@ describe('system()', function()
|
||||
-- write more than 1mb of data, which should be enough to overcome
|
||||
-- the os buffer limit and force multiple event loop iterations to write
|
||||
-- everything
|
||||
for i = 1, 0xffff do
|
||||
for _ = 1, 0xffff do
|
||||
input[#input + 1] = '01234567890ABCDEFabcdef'
|
||||
end
|
||||
input = table.concat(input, '\n')
|
||||
@@ -299,7 +299,7 @@ describe('systemlist()', function()
|
||||
describe('passing a lot of input', function()
|
||||
it('returns the program output', function()
|
||||
local input = {}
|
||||
for i = 1, 0xffff do
|
||||
for _ = 1, 0xffff do
|
||||
input[#input + 1] = '01234567890ABCDEFabcdef'
|
||||
end
|
||||
nvim('set_var', 'input', input)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local clear, eq, curbuf = helpers.clear, helpers.eq, helpers.curbuf
|
||||
local feed = helpers.feed
|
||||
local feed_data = thelpers.feed_data
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local feed, clear, nvim = helpers.feed, helpers.clear, helpers.nvim
|
||||
local wait = helpers.wait
|
||||
|
||||
@@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local feed, clear, nvim = helpers.feed, helpers.clear, helpers.nvim
|
||||
local nvim_dir, execute, eq = helpers.nvim_dir, helpers.execute, helpers.eq
|
||||
local nvim_dir, execute = helpers.nvim_dir, helpers.execute
|
||||
local hide_cursor = thelpers.hide_cursor
|
||||
local show_cursor = thelpers.show_cursor
|
||||
|
||||
|
||||
@@ -2,8 +2,7 @@ local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local clear, wait, nvim = helpers.clear, helpers.wait, helpers.nvim
|
||||
local nvim_dir = helpers.nvim_dir
|
||||
local execute, source = helpers.execute, helpers.source
|
||||
local eq, neq = helpers.eq, helpers.neq
|
||||
local execute = helpers.execute
|
||||
|
||||
describe(':terminal', function()
|
||||
local screen
|
||||
|
||||
@@ -72,7 +72,7 @@ local function screen_setup(extra_height, command)
|
||||
empty_line,
|
||||
empty_line,
|
||||
}
|
||||
for i = 1, extra_height do
|
||||
for _ = 1, extra_height do
|
||||
table.insert(expected, empty_line)
|
||||
end
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ describe('terminal window highlighting', function()
|
||||
]])
|
||||
end)
|
||||
|
||||
function descr(title, attr_num, set_attrs_fn)
|
||||
local function descr(title, attr_num, set_attrs_fn)
|
||||
local function sub(s)
|
||||
return s:gsub('NUM', attr_num)
|
||||
end
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local helpers = require('test.functional.helpers')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local clear, eq, curbuf = helpers.clear, helpers.eq, helpers.curbuf
|
||||
local feed, execute, nvim = helpers.feed, helpers.execute, helpers.nvim
|
||||
local clear = helpers.clear
|
||||
local feed, nvim = helpers.feed, helpers.nvim
|
||||
local feed_data = thelpers.feed_data
|
||||
|
||||
describe('terminal mouse', function()
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
-- Some sanity checks for the TUI using the builtin terminal emulator
|
||||
-- as a simple way to send keys and assert screen state.
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local helpers = require('test.functional.helpers')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local feed = thelpers.feed_data
|
||||
@@ -176,6 +175,8 @@ describe('tui with non-tty file descriptors', function()
|
||||
end)
|
||||
|
||||
describe('tui focus event handling', function()
|
||||
local screen
|
||||
|
||||
before_each(function()
|
||||
helpers.clear()
|
||||
screen = thelpers.screen_setup(0, '["'..helpers.nvim_prog..'", "-u", "NONE", "-i", "NONE", "--cmd", "set noswapfile"]')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local feed, clear, nvim = helpers.feed, helpers.clear, helpers.nvim
|
||||
local wait, eq = helpers.wait, helpers.eq
|
||||
local feed, clear = helpers.feed, helpers.clear
|
||||
local wait = helpers.wait
|
||||
|
||||
|
||||
describe('terminal window', function()
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local clear, eq, curbuf = helpers.clear, helpers.eq, helpers.curbuf
|
||||
local clear = helpers.clear
|
||||
local feed, nvim = helpers.feed, helpers.nvim
|
||||
local feed_data = thelpers.feed_data
|
||||
|
||||
describe('terminal', function()
|
||||
local screen
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, nvim = helpers.clear, helpers.feed, helpers.nvim
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local execute, request, eq = helpers.execute, helpers.request, helpers.eq
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ describe('mappings', function()
|
||||
local cid
|
||||
|
||||
local add_mapping = function(mapping, send)
|
||||
local str = 'mapped '..mapping
|
||||
local cmd = "nnoremap "..mapping.." :call rpcnotify("..cid..", 'mapped', '"
|
||||
..send:gsub('<', '<lt>').."')<cr>"
|
||||
execute(cmd)
|
||||
|
||||
@@ -106,8 +106,8 @@
|
||||
-- use `screen:snapshot_util({},true)`
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local request, run, stop = helpers.request, helpers.run, helpers.stop
|
||||
local eq, dedent = helpers.eq, helpers.dedent
|
||||
local request, run = helpers.request, helpers.run
|
||||
local dedent = helpers.dedent
|
||||
|
||||
local Screen = {}
|
||||
Screen.__index = Screen
|
||||
@@ -241,7 +241,7 @@ function Screen:wait(check, timeout)
|
||||
checked = true
|
||||
if not err then
|
||||
success_seen = true
|
||||
stop()
|
||||
helpers.stop()
|
||||
elseif success_seen and #args > 0 then
|
||||
failure_after_success = true
|
||||
--print(require('inspect')(args))
|
||||
@@ -294,9 +294,9 @@ end
|
||||
|
||||
function Screen:_handle_resize(width, height)
|
||||
local rows = {}
|
||||
for i = 1, height do
|
||||
for _ = 1, height do
|
||||
local cols = {}
|
||||
for j = 1, width do
|
||||
for _ = 1, width do
|
||||
table.insert(cols, {text = ' ', attrs = {}})
|
||||
end
|
||||
table.insert(rows, cols)
|
||||
@@ -448,7 +448,7 @@ function Screen:_row_repr(row, attr_ids, attr_ignore)
|
||||
local rv = {}
|
||||
local current_attr_id
|
||||
for i = 1, self._width do
|
||||
local attr_id = get_attr_id(attr_ids, attr_ignore, row[i].attrs)
|
||||
local attr_id = self:_get_attr_id(attr_ids, attr_ignore, row[i].attrs)
|
||||
if current_attr_id and attr_id ~= current_attr_id then
|
||||
-- close current attribute bracket, add it before any whitespace
|
||||
-- up to the current cell
|
||||
@@ -524,8 +524,8 @@ function Screen:print_snapshot(attrs, ignore)
|
||||
local row = self._rows[i]
|
||||
for j = 1, self._width do
|
||||
local attr = row[j].attrs
|
||||
if attr_index(attrs, attr) == nil and attr_index(ignore, attr) == nil then
|
||||
if not equal_attrs(attr, {}) then
|
||||
if self:_attr_index(attrs, attr) == nil and self:_attr_index(ignore, attr) == nil then
|
||||
if not self:_equal_attrs(attr, {}) then
|
||||
table.insert(attrs, attr)
|
||||
end
|
||||
end
|
||||
@@ -544,7 +544,7 @@ function Screen:print_snapshot(attrs, ignore)
|
||||
if self._default_attr_ids == nil or self._default_attr_ids[i] ~= a then
|
||||
alldefault = false
|
||||
end
|
||||
local dict = "{"..pprint_attrs(a).."}"
|
||||
local dict = "{"..self:_pprint_attrs(a).."}"
|
||||
table.insert(attrstrs, "["..tostring(i).."] = "..dict)
|
||||
end
|
||||
local attrstr = "{"..table.concat(attrstrs, ", ").."}"
|
||||
@@ -558,7 +558,7 @@ function Screen:print_snapshot(attrs, ignore)
|
||||
io.stdout:flush()
|
||||
end
|
||||
|
||||
function pprint_attrs(attrs)
|
||||
function Screen:_pprint_attrs(attrs)
|
||||
local items = {}
|
||||
for f, v in pairs(attrs) do
|
||||
local desc = tostring(v)
|
||||
@@ -572,7 +572,7 @@ function pprint_attrs(attrs)
|
||||
return table.concat(items, ", ")
|
||||
end
|
||||
|
||||
function backward_find_meaningful(tbl, from)
|
||||
function backward_find_meaningful(tbl, from) -- luacheck: ignore
|
||||
for i = from or #tbl, 1, -1 do
|
||||
if tbl[i] ~= ' ' then
|
||||
return i + 1
|
||||
@@ -581,24 +581,24 @@ function backward_find_meaningful(tbl, from)
|
||||
return from
|
||||
end
|
||||
|
||||
function get_attr_id(attr_ids, ignore, attrs)
|
||||
function Screen:_get_attr_id(attr_ids, ignore, attrs)
|
||||
if not attr_ids then
|
||||
return
|
||||
end
|
||||
for id, a in pairs(attr_ids) do
|
||||
if equal_attrs(a, attrs) then
|
||||
if self:_equal_attrs(a, attrs) then
|
||||
return id
|
||||
end
|
||||
end
|
||||
if equal_attrs(attrs, {}) or
|
||||
ignore == true or attr_index(ignore, attrs) ~= nil then
|
||||
if self:_equal_attrs(attrs, {}) or
|
||||
ignore == true or self:_attr_index(ignore, attrs) ~= nil then
|
||||
-- ignore this attrs
|
||||
return nil
|
||||
end
|
||||
return "UNEXPECTED "..pprint_attrs(attrs)
|
||||
return "UNEXPECTED "..self:_pprint_attrs(attrs)
|
||||
end
|
||||
|
||||
function equal_attrs(a, b)
|
||||
function Screen:_equal_attrs(a, b)
|
||||
return a.bold == b.bold and a.standout == b.standout and
|
||||
a.underline == b.underline and a.undercurl == b.undercurl and
|
||||
a.italic == b.italic and a.reverse == b.reverse and
|
||||
@@ -606,12 +606,12 @@ function equal_attrs(a, b)
|
||||
a.background == b.background
|
||||
end
|
||||
|
||||
function attr_index(attrs, attr)
|
||||
function Screen:_attr_index(attrs, attr)
|
||||
if not attrs then
|
||||
return nil
|
||||
end
|
||||
for i,a in pairs(attrs) do
|
||||
if equal_attrs(a, attr) then
|
||||
if self:_equal_attrs(a, attr) then
|
||||
return i
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local spawn, set_session, clear = helpers.spawn, helpers.set_session, helpers.clear
|
||||
local feed, execute = helpers.feed, helpers.execute
|
||||
local insert, wait = helpers.insert, helpers.wait
|
||||
local insert = helpers.insert
|
||||
|
||||
describe('Initial screen', function()
|
||||
local screen
|
||||
@@ -11,9 +11,6 @@ describe('Initial screen', function()
|
||||
'--embed'}
|
||||
|
||||
before_each(function()
|
||||
if session then
|
||||
session:exit(0)
|
||||
end
|
||||
local screen_nvim = spawn(nvim_argv)
|
||||
set_session(screen_nvim)
|
||||
screen = Screen.new()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, nvim, insert = helpers.clear, helpers.feed, helpers.nvim, helpers.insert
|
||||
local execute, request, eq = helpers.execute, helpers.request, helpers.eq
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute = helpers.execute
|
||||
|
||||
describe('search highlighting', function()
|
||||
local screen
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute
|
||||
local clear, feed = helpers.clear, helpers.feed
|
||||
local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq
|
||||
local execute, source = helpers.execute, helpers.source
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user