aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/ui_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2023-07-21 13:34:38 +0200
committerJustin M. Keyes <justinkz@gmail.com>2023-07-21 14:38:17 +0200
commit7907b1fca5fce69e966ab1071df8e6d11afda41d (patch)
tree7a0291969f1cb49231a6fb4dbb4d579877ea3b73 /test/functional/lua/ui_spec.lua
parent519b9929e94c94965b73ac4b04aedb03fd2708ca (diff)
downloadrneovim-7907b1fca5fce69e966ab1071df8e6d11afda41d.tar.gz
rneovim-7907b1fca5fce69e966ab1071df8e6d11afda41d.tar.bz2
rneovim-7907b1fca5fce69e966ab1071df8e6d11afda41d.zip
test(vim.ui.open): mock failure on Windows
Problem: On Windows, `rundll32` exits zero (success) even when given a non-existent file. Solution: Mock vim.system() on Windows to force a "failure" case.
Diffstat (limited to 'test/functional/lua/ui_spec.lua')
-rw-r--r--test/functional/lua/ui_spec.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/functional/lua/ui_spec.lua b/test/functional/lua/ui_spec.lua
index 808b25d9ea..d4c150c5f2 100644
--- a/test/functional/lua/ui_spec.lua
+++ b/test/functional/lua/ui_spec.lua
@@ -6,6 +6,7 @@ local clear = helpers.clear
local feed = helpers.feed
local eval = helpers.eval
local is_ci = helpers.is_ci
+local is_os = helpers.is_os
local poke_eventloop = helpers.poke_eventloop
describe('vim.ui', function()
@@ -134,8 +135,11 @@ describe('vim.ui', function()
describe('open()', function()
it('validation', function()
- if is_ci('github') then
- matches('vim.ui.open: command failed %(%d%): { "[^"]+", "non%-existent%-file" }',
+ if is_os('win') or not is_ci('github') then
+ exec_lua[[vim.system = function() return { wait=function() return { code=3} end } end]]
+ end
+ if not is_os('bsd') then
+ matches('vim.ui.open: command failed %(%d%): { "[^"]+", .*"non%-existent%-file" }',
exec_lua[[local _, err = vim.ui.open('non-existent-file') ; return err]])
end