mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 17:21:49 +00:00
Merge #7753 'win: enable more functional tests'
This commit is contained in:
@@ -89,7 +89,9 @@ describe('system()', function()
|
||||
end)
|
||||
|
||||
it('does NOT run in shell', function()
|
||||
if not iswin() then
|
||||
if iswin() then
|
||||
eq("%PATH%\n", eval("system(['powershell', '-NoProfile', '-NoLogo', '-ExecutionPolicy', 'RemoteSigned', '-Command', 'echo', '%PATH%'])"))
|
||||
else
|
||||
eq("* $PATH %PATH%\n", eval("system(['echo', '*', '$PATH', '%PATH%'])"))
|
||||
end
|
||||
end)
|
||||
@@ -185,6 +187,7 @@ describe('system()', function()
|
||||
end)
|
||||
|
||||
it('`yes` and is interrupted with CTRL-C', function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
feed(':call system("yes")<cr>')
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -442,11 +445,13 @@ describe('systemlist()', function()
|
||||
describe('with output containing NULs', function()
|
||||
local fname = 'Xtest'
|
||||
|
||||
before_each(create_file_with_nuls(fname))
|
||||
before_each(function()
|
||||
command('set ff=unix')
|
||||
create_file_with_nuls(fname)()
|
||||
end)
|
||||
after_each(delete_file(fname))
|
||||
|
||||
it('replaces NULs by newline characters', function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
eq({'part1\npart2\npart3'}, eval('systemlist("cat '..fname..'")'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -2,8 +2,6 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local eq, clear, eval, feed =
|
||||
helpers.eq, helpers.clear, helpers.eval, helpers.feed
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('K', function()
|
||||
local test_file = 'K_spec_out'
|
||||
before_each(function()
|
||||
@@ -29,7 +27,7 @@ describe('K', function()
|
||||
it("invokes non-prefixed 'keywordprg' as shell command", function()
|
||||
helpers.source([[
|
||||
let @a='fnord'
|
||||
set keywordprg=echo\ fnord\ >>]])
|
||||
set keywordprg=echo\ fnord>>]])
|
||||
|
||||
-- K on the text "K_spec_out" resolves to `!echo fnord >> K_spec_out`.
|
||||
feed('i'..test_file..'<ESC>K')
|
||||
|
@@ -3,8 +3,6 @@ local clear = helpers.clear
|
||||
local eq = helpers.eq
|
||||
local getcwd = helpers.funcs.getcwd
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe("'autochdir'", function()
|
||||
it('given on the shell gets processed properly', function()
|
||||
local targetdir = 'test/functional/fixtures'
|
||||
@@ -12,9 +10,10 @@ describe("'autochdir'", function()
|
||||
-- By default 'autochdir' is off, thus getcwd() returns the repo root.
|
||||
clear(targetdir..'/tty-test.c')
|
||||
local rootdir = getcwd()
|
||||
local expected = rootdir .. '/' .. targetdir
|
||||
|
||||
-- With 'autochdir' on, we should get the directory of tty-test.c.
|
||||
clear('--cmd', 'set autochdir', targetdir..'/tty-test.c')
|
||||
eq(rootdir..'/'..targetdir, getcwd())
|
||||
eq(helpers.iswin() and expected:gsub('/', '\\') or expected, getcwd())
|
||||
end)
|
||||
end)
|
||||
|
@@ -13,8 +13,6 @@ local rmdir = helpers.rmdir
|
||||
|
||||
describe('startup defaults', function()
|
||||
describe(':filetype', function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
local function expect_filetype(expected)
|
||||
local screen = Screen.new(50, 4)
|
||||
screen:attach()
|
||||
|
@@ -43,8 +43,6 @@ local wshada, _, fname = get_shada_rw('Xtest-functional-plugin-shada.shada')
|
||||
local wshada_tmp, _, fname_tmp =
|
||||
get_shada_rw('Xtest-functional-plugin-shada.shada.tmp.f')
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('In autoload/shada.vim', function()
|
||||
local epoch = os.date('%Y-%m-%dT%H:%M:%S', 0)
|
||||
before_each(function()
|
||||
@@ -2140,6 +2138,7 @@ end)
|
||||
|
||||
describe('In plugin/shada.vim', function()
|
||||
local epoch = os.date('%Y-%m-%dT%H:%M:%S', 0)
|
||||
local eol = helpers.iswin() and '\r\n' or '\n'
|
||||
before_each(function()
|
||||
reset()
|
||||
os.remove(fname)
|
||||
@@ -2279,7 +2278,7 @@ describe('In plugin/shada.vim', function()
|
||||
' + f file name ["foo"]',
|
||||
' + l line number 2',
|
||||
' + c column -200',
|
||||
}, '\n') .. '\n', io.open(fname .. '.tst'):read('*a'))
|
||||
}, eol) .. eol, io.open(fname .. '.tst'):read('*a'))
|
||||
shada_eq({{
|
||||
timestamp=0,
|
||||
type=8,
|
||||
@@ -2303,6 +2302,7 @@ describe('In plugin/shada.vim', function()
|
||||
|
||||
describe('event FileWriteCmd', function()
|
||||
it('works', function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
nvim('set_var', 'shada#add_own_header', 0)
|
||||
curbuf('set_lines', 0, 1, true, {
|
||||
'Jump with timestamp ' .. epoch .. ':',
|
||||
@@ -2326,7 +2326,7 @@ describe('In plugin/shada.vim', function()
|
||||
'Jump with timestamp ' .. epoch .. ':',
|
||||
' % Key________ Description Value',
|
||||
' + n name \'A\'',
|
||||
}, '\n') .. '\n', io.open(fname .. '.tst'):read('*a'))
|
||||
}, eol) .. eol, io.open(fname .. '.tst'):read('*a'))
|
||||
shada_eq({{
|
||||
timestamp=0,
|
||||
type=8,
|
||||
@@ -2383,7 +2383,7 @@ describe('In plugin/shada.vim', function()
|
||||
' + f file name ["foo"]',
|
||||
' + l line number 2',
|
||||
' + c column -200',
|
||||
}, '\n') .. '\n', io.open(fname .. '.tst'):read('*a'))
|
||||
}, eol) .. eol, io.open(fname .. '.tst'):read('*a'))
|
||||
shada_eq({{
|
||||
timestamp=0,
|
||||
type=8,
|
||||
|
@@ -7,7 +7,6 @@ local retry = helpers.retry
|
||||
local iswin = helpers.iswin
|
||||
|
||||
describe(':terminal', function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
local screen
|
||||
|
||||
before_each(function()
|
||||
@@ -24,7 +23,11 @@ describe(':terminal', function()
|
||||
echomsg "msg3"
|
||||
]])
|
||||
-- Invoke a command that emits frequent terminal activity.
|
||||
feed_command([[terminal while true; do echo X; done]])
|
||||
if iswin() then
|
||||
feed_command([[terminal for /L \\%I in (1,0,2) do echo \\%I]])
|
||||
else
|
||||
feed_command([[terminal while true; do echo X; done]])
|
||||
end
|
||||
helpers.feed([[<C-\><C-N>]])
|
||||
wait()
|
||||
screen:sleep(10) -- Let some terminal activity happen.
|
||||
@@ -38,7 +41,11 @@ describe(':terminal', function()
|
||||
end)
|
||||
|
||||
it("in normal-mode :split does not move cursor", function()
|
||||
feed_command([[terminal while true; do echo foo; sleep .1; done]])
|
||||
if iswin() then
|
||||
feed_command([[terminal for /L \\%I in (1,0,2) do ( echo foo & ping -w 100 -n 1 127.0.0.1 > nul )]])
|
||||
else
|
||||
feed_command([[terminal while true; do echo foo; sleep .1; done]])
|
||||
end
|
||||
helpers.feed([[<C-\><C-N>M]]) -- move cursor away from last line
|
||||
wait()
|
||||
eq(3, eval("line('$')")) -- window height
|
||||
|
@@ -4,8 +4,6 @@ local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local command, request, neq = helpers.command, helpers.request, helpers.neq
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('Buffer highlighting', function()
|
||||
local screen
|
||||
local curbuf
|
||||
|
@@ -121,8 +121,6 @@ describe(":substitute, inccommand=split does not trigger preview", function()
|
||||
end)
|
||||
|
||||
describe(":substitute, 'inccommand' preserves", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
before_each(clear)
|
||||
|
||||
it('listed buffers (:ls)', function()
|
||||
@@ -285,8 +283,6 @@ describe(":substitute, 'inccommand' preserves", function()
|
||||
end)
|
||||
|
||||
describe(":substitute, 'inccommand' preserves undo", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
local cases = { "", "split", "nosplit" }
|
||||
|
||||
local substrings = {
|
||||
@@ -700,8 +696,6 @@ describe(":substitute, 'inccommand' preserves undo", function()
|
||||
end)
|
||||
|
||||
describe(":substitute, inccommand=split", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
local screen = Screen.new(30,15)
|
||||
|
||||
before_each(function()
|
||||
@@ -1169,8 +1163,6 @@ describe(":substitute, inccommand=split", function()
|
||||
end)
|
||||
|
||||
describe("inccommand=nosplit", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
local screen = Screen.new(20,10)
|
||||
|
||||
before_each(function()
|
||||
@@ -1356,8 +1348,6 @@ describe("inccommand=nosplit", function()
|
||||
end)
|
||||
|
||||
describe(":substitute, 'inccommand' with a failing expression", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
local screen = Screen.new(20,10)
|
||||
local cases = { "", "split", "nosplit" }
|
||||
|
||||
@@ -1621,8 +1611,6 @@ describe("'inccommand' autocommands", function()
|
||||
end)
|
||||
|
||||
describe("'inccommand' split windows", function()
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
local screen
|
||||
local function refresh()
|
||||
clear()
|
||||
|
@@ -4,8 +4,6 @@ local feed, next_message, eq = helpers.feed, helpers.next_message, helpers.eq
|
||||
local expect = helpers.expect
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('mappings', function()
|
||||
local cid
|
||||
|
||||
|
@@ -4,8 +4,6 @@ local clear, feed, meths = helpers.clear, helpers.feed, helpers.meths
|
||||
local insert, feed_command = helpers.insert, helpers.feed_command
|
||||
local eq, funcs = helpers.eq, helpers.funcs
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('ui/mouse/input', function()
|
||||
local screen
|
||||
|
||||
|
@@ -3,8 +3,6 @@ local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local feed_command = helpers.feed_command
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('search highlighting', function()
|
||||
local screen
|
||||
local colors = Screen.colors
|
||||
|
@@ -2,8 +2,6 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, command = helpers.clear, helpers.feed, helpers.command
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('Signs', function()
|
||||
local screen
|
||||
|
||||
|
@@ -3,8 +3,6 @@ local Screen = require('test.functional.ui.screen')
|
||||
local clear, feed, command = helpers.clear, helpers.feed, helpers.command
|
||||
local insert = helpers.insert
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('Screen', function()
|
||||
local screen
|
||||
|
||||
|
@@ -5,8 +5,6 @@ local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq
|
||||
local feed_command, source, expect = helpers.feed_command, helpers.source, helpers.expect
|
||||
local meths = helpers.meths
|
||||
|
||||
if helpers.pending_win32(pending) then return end
|
||||
|
||||
describe('completion', function()
|
||||
local screen
|
||||
|
||||
|
Reference in New Issue
Block a user