diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2023-07-21 13:34:38 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2023-07-21 14:38:17 +0200 |
commit | 7907b1fca5fce69e966ab1071df8e6d11afda41d (patch) | |
tree | 7a0291969f1cb49231a6fb4dbb4d579877ea3b73 | |
parent | 519b9929e94c94965b73ac4b04aedb03fd2708ca (diff) | |
download | rneovim-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.
-rw-r--r-- | test/functional/lua/ui_spec.lua | 8 |
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 |