diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2024-09-08 21:29:20 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2024-09-09 12:23:54 +0200 |
commit | ed832b9ddf45705abe9d7f4a50cedc27072c8e16 (patch) | |
tree | daea0210246a4cd204ee89e9850c93cbf054f1f3 /test/testutil.lua | |
parent | 8a2aec99748229ad9d1e12c1cbc0768d063e8eed (diff) | |
download | rneovim-ed832b9ddf45705abe9d7f4a50cedc27072c8e16.tar.gz rneovim-ed832b9ddf45705abe9d7f4a50cedc27072c8e16.tar.bz2 rneovim-ed832b9ddf45705abe9d7f4a50cedc27072c8e16.zip |
refactor(test): rename alter_slashes, invert its behavior
- `alter_slashes` belongs in `testutil.lua`, not `testnvim.lua`.
- `alter_slashes` is an unusual name. Rename it to `fix_slashes`.
- invert its behavior, to emphasize that `/` slashes are the preferred,
pervasive convention, not `\` slashes.
Diffstat (limited to 'test/testutil.lua')
-rw-r--r-- | test/testutil.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/testutil.lua b/test/testutil.lua index 19e297c503..02f343891d 100644 --- a/test/testutil.lua +++ b/test/testutil.lua @@ -42,6 +42,29 @@ function M.isdir(path) return stat.type == 'directory' end +--- (Only on Windows) Replaces yucky "\\" slashes with delicious "/" slashes in a string, or all +--- string values in a table (recursively). +--- +--- @param obj string|table +--- @return any +function M.fix_slashes(obj) + if not M.is_os('win') then + return obj + end + if type(obj) == 'string' then + local ret = obj:gsub('\\', '/') + return ret + elseif type(obj) == 'table' then + --- @cast obj table<any,any> + local ret = {} --- @type table<any,any> + for k, v in pairs(obj) do + ret[k] = M.fix_slashes(v) + end + return ret + end + assert(false, 'expected string or table of strings, got ' .. type(obj)) +end + --- @param ... string|string[] --- @return string function M.argss_to_cmd(...) |