mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 07:16:09 +00:00
refactor(tests): introduce testprg()
Also: - Add a describe('shell :!') section to system_spec. - Make the test for #16271 work on systems without powershell.
This commit is contained in:
@@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
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, command = helpers.nvim_dir, helpers.command
|
||||
local testprg, command = helpers.testprg, helpers.command
|
||||
local nvim_prog = helpers.nvim_prog
|
||||
local eq, eval = helpers.eq, helpers.eval
|
||||
local matches = helpers.matches
|
||||
@@ -150,7 +150,7 @@ describe('cursor with customized highlighting', function()
|
||||
[3] = {bold = true},
|
||||
})
|
||||
screen:attach({rgb=false})
|
||||
command('call termopen(["'..nvim_dir..'/tty-test"])')
|
||||
command('call termopen(["'..testprg('tty-test')..'"])')
|
||||
feed_command('startinsert')
|
||||
end)
|
||||
|
||||
|
@@ -3,7 +3,7 @@ local screen = require('test.functional.ui.screen')
|
||||
|
||||
local curbufmeths = helpers.curbufmeths
|
||||
local curwinmeths = helpers.curwinmeths
|
||||
local nvim_dir = helpers.nvim_dir
|
||||
local testprg = helpers.testprg
|
||||
local command = helpers.command
|
||||
local funcs = helpers.funcs
|
||||
local meths = helpers.meths
|
||||
@@ -21,7 +21,7 @@ describe(':edit term://*', function()
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
meths.set_option('shell', nvim_dir .. '/shell-test')
|
||||
meths.set_option('shell', testprg('shell-test'))
|
||||
meths.set_option('shellcmdflag', 'EXE')
|
||||
end)
|
||||
|
||||
|
@@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local assert_alive = helpers.assert_alive
|
||||
local clear, poke_eventloop, nvim = helpers.clear, helpers.poke_eventloop, helpers.nvim
|
||||
local nvim_dir, source, eq = helpers.nvim_dir, helpers.source, helpers.eq
|
||||
local testprg, source, eq = helpers.testprg, helpers.source, helpers.eq
|
||||
local feed = helpers.feed
|
||||
local feed_command, eval = helpers.feed_command, helpers.eval
|
||||
local funcs = helpers.funcs
|
||||
@@ -28,7 +28,7 @@ describe(':terminal', function()
|
||||
echomsg "msg3"
|
||||
]])
|
||||
-- Invoke a command that emits frequent terminal activity.
|
||||
feed([[:terminal "]]..nvim_dir..[[/shell-test" REP 9999 !terminal_output!<cr>]])
|
||||
feed([[:terminal "]]..testprg('shell-test')..[[" REP 9999 !terminal_output!<cr>]])
|
||||
feed([[<C-\><C-N>]])
|
||||
poke_eventloop()
|
||||
-- Wait for some terminal activity.
|
||||
@@ -131,7 +131,7 @@ describe(':terminal (with fake shell)', function()
|
||||
screen = Screen.new(50, 4)
|
||||
screen:attach({rgb=false})
|
||||
-- shell-test.c is a fake shell that prints its arguments and exits.
|
||||
nvim('set_option', 'shell', nvim_dir..'/shell-test')
|
||||
nvim('set_option', 'shell', testprg('shell-test'))
|
||||
nvim('set_option', 'shellcmdflag', 'EXE')
|
||||
end)
|
||||
|
||||
@@ -167,7 +167,7 @@ describe(':terminal (with fake shell)', function()
|
||||
|
||||
it("with no argument, but 'shell' has arguments, acts like termopen()", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
nvim('set_option', 'shell', nvim_dir..'/shell-test -t jeff')
|
||||
nvim('set_option', 'shell', testprg('shell-test')..' -t jeff')
|
||||
terminal_with_fake_shell()
|
||||
screen:expect([[
|
||||
^jeff $ |
|
||||
@@ -191,7 +191,7 @@ describe(':terminal (with fake shell)', function()
|
||||
|
||||
it("executes a given command through the shell, when 'shell' has arguments", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
nvim('set_option', 'shell', nvim_dir..'/shell-test -t jeff')
|
||||
nvim('set_option', 'shell', testprg('shell-test')..' -t jeff')
|
||||
command('set shellxquote=') -- win: avoid extra quotes
|
||||
terminal_with_fake_shell('echo hi')
|
||||
screen:expect([[
|
||||
|
@@ -3,7 +3,7 @@
|
||||
-- operate on the _host_ session, _not_ the child session.
|
||||
local helpers = require('test.functional.helpers')(nil)
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local nvim_dir = helpers.nvim_dir
|
||||
local testprg = helpers.testprg
|
||||
local feed_command, nvim = helpers.feed_command, helpers.nvim
|
||||
|
||||
local function feed_data(data)
|
||||
@@ -37,7 +37,7 @@ local function clear_attrs() feed_termcode('[0;10m') end
|
||||
local function enable_mouse() feed_termcode('[?1002h') end
|
||||
local function disable_mouse() feed_termcode('[?1002l') end
|
||||
|
||||
local default_command = '["'..nvim_dir..'/tty-test'..'"]'
|
||||
local default_command = '["'..testprg('tty-test')..'"]'
|
||||
|
||||
local function screen_setup(extra_rows, command, cols, opts)
|
||||
extra_rows = extra_rows and extra_rows or 0
|
||||
|
@@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
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, command = helpers.nvim_dir, helpers.command
|
||||
local testprg, command = helpers.testprg, helpers.command
|
||||
local nvim_prog_abs = helpers.nvim_prog_abs
|
||||
local eq, eval = helpers.eq, helpers.eval
|
||||
local funcs = helpers.funcs
|
||||
@@ -28,7 +28,7 @@ describe(':terminal highlight', function()
|
||||
[11] = {background = 11},
|
||||
})
|
||||
screen:attach({rgb=false})
|
||||
command('enew | call termopen(["'..nvim_dir..'/tty-test"])')
|
||||
command(("enew | call termopen(['%s'])"):format(testprg('tty-test')))
|
||||
feed('i')
|
||||
screen:expect([[
|
||||
tty ready |
|
||||
@@ -173,7 +173,7 @@ describe(':terminal highlight forwarding', function()
|
||||
[4] = {{foreground = tonumber('0xff8000')}, {}},
|
||||
})
|
||||
screen:attach()
|
||||
command('enew | call termopen(["'..nvim_dir..'/tty-test"])')
|
||||
command(("enew | call termopen(['%s'])"):format(testprg('tty-test')))
|
||||
feed('i')
|
||||
screen:expect([[
|
||||
tty ready |
|
||||
@@ -225,7 +225,7 @@ describe(':terminal highlight with custom palette', function()
|
||||
})
|
||||
screen:attach({rgb=true})
|
||||
nvim('set_var', 'terminal_color_3', '#123456')
|
||||
command('enew | call termopen(["'..nvim_dir..'/tty-test"])')
|
||||
command(("enew | call termopen(['%s'])"):format(testprg('tty-test')))
|
||||
feed('i')
|
||||
screen:expect([[
|
||||
tty ready |
|
||||
|
@@ -2,7 +2,7 @@ local Screen = require('test.functional.ui.screen')
|
||||
local helpers = require('test.functional.helpers')(after_each)
|
||||
local thelpers = require('test.functional.terminal.helpers')
|
||||
local clear, eq, curbuf = helpers.clear, helpers.eq, helpers.curbuf
|
||||
local feed, nvim_dir, feed_command = helpers.feed, helpers.nvim_dir, helpers.feed_command
|
||||
local feed, testprg, feed_command = helpers.feed, helpers.testprg, helpers.feed_command
|
||||
local iswin = helpers.iswin
|
||||
local eval = helpers.eval
|
||||
local command = helpers.command
|
||||
@@ -350,7 +350,7 @@ describe(':terminal prints more lines than the screen height and exits', functio
|
||||
clear()
|
||||
local screen = Screen.new(30, 7)
|
||||
screen:attach({rgb=false})
|
||||
feed_command('call termopen(["'..nvim_dir..'/tty-test", "10"]) | startinsert')
|
||||
feed_command(("call termopen(['%s', '10']) | startinsert"):format(testprg('tty-test')))
|
||||
poke_eventloop()
|
||||
screen:expect([[
|
||||
line6 |
|
||||
@@ -382,7 +382,7 @@ describe("'scrollback' option", function()
|
||||
|
||||
local function set_fake_shell()
|
||||
-- shell-test.c is a fake shell that prints its arguments and exits.
|
||||
nvim('set_option', 'shell', nvim_dir..'/shell-test')
|
||||
nvim('set_option', 'shell', testprg('shell-test'))
|
||||
nvim('set_option', 'shellcmdflag', 'EXE')
|
||||
end
|
||||
|
||||
@@ -403,7 +403,7 @@ describe("'scrollback' option", function()
|
||||
end
|
||||
|
||||
curbufmeths.set_option('scrollback', 0)
|
||||
feed_data(nvim_dir..'/shell-test REP 31 line'..(iswin() and '\r' or '\n'))
|
||||
feed_data(('%s REP 31 line%s'):format(testprg('shell-test'), iswin() and '\r' or '\n'))
|
||||
screen:expect{any='30: line '}
|
||||
retry(nil, nil, function() expect_lines(7) end)
|
||||
end)
|
||||
@@ -423,7 +423,7 @@ describe("'scrollback' option", function()
|
||||
-- Wait for prompt.
|
||||
screen:expect{any='%$'}
|
||||
|
||||
feed_data(nvim_dir.."/shell-test REP 31 line"..(iswin() and '\r' or '\n'))
|
||||
feed_data(('%s REP 31 line%s'):format(testprg('shell-test'), iswin() and '\r' or '\n'))
|
||||
screen:expect{any='30: line '}
|
||||
|
||||
retry(nil, nil, function() expect_lines(33, 2) end)
|
||||
@@ -436,7 +436,7 @@ describe("'scrollback' option", function()
|
||||
-- 'scrollback' option is synchronized with the internal sb_buffer.
|
||||
command('sleep 100m')
|
||||
|
||||
feed_data(nvim_dir.."/shell-test REP 41 line"..(iswin() and '\r' or '\n'))
|
||||
feed_data(('%s REP 41 line%s'):format(testprg('shell-test'), iswin() and '\r' or '\n'))
|
||||
if iswin() then
|
||||
screen:expect{grid=[[
|
||||
37: line |
|
||||
|
@@ -14,7 +14,7 @@ local feed_command = helpers.feed_command
|
||||
local feed_data = thelpers.feed_data
|
||||
local clear = helpers.clear
|
||||
local command = helpers.command
|
||||
local nvim_dir = helpers.nvim_dir
|
||||
local testprg = helpers.testprg
|
||||
local retry = helpers.retry
|
||||
local nvim_prog = helpers.nvim_prog
|
||||
local nvim_set = helpers.nvim_set
|
||||
@@ -385,7 +385,7 @@ describe('TUI', function()
|
||||
return
|
||||
end
|
||||
feed_data(':set statusline=^^^^^^^\n')
|
||||
feed_data(':terminal '..nvim_dir..'/tty-test\n')
|
||||
feed_data(':terminal '..testprg('tty-test')..'\n')
|
||||
feed_data('i')
|
||||
screen:expect{grid=[[
|
||||
tty ready |
|
||||
@@ -903,7 +903,7 @@ describe('TUI', function()
|
||||
|
||||
feed_data(':set statusline=^^^^^^^\n')
|
||||
feed_data(':set termguicolors\n')
|
||||
feed_data(':terminal '..nvim_dir..'/tty-test\n')
|
||||
feed_data(':terminal '..testprg('tty-test')..'\n')
|
||||
-- Depending on platform the above might or might not fit in the cmdline
|
||||
-- so clear it for consistent behavior.
|
||||
feed_data(':\027')
|
||||
@@ -1130,7 +1130,7 @@ describe('TUI FocusGained/FocusLost', function()
|
||||
end)
|
||||
|
||||
it('in terminal-mode', function()
|
||||
feed_data(':set shell='..nvim_dir..'/shell-test\n')
|
||||
feed_data(':set shell='..testprg('shell-test')..'\n')
|
||||
feed_data(':set noshowmode laststatus=0\n')
|
||||
|
||||
feed_data(':terminal\n')
|
||||
|
Reference in New Issue
Block a user