mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
fix(windows):exepath, stdpath return wrong slashes #19111
exepath and stdpath should respect shellslash and return path with proper file separator. Closes #13787
This commit is contained in:
@@ -17,6 +17,21 @@ describe('executable()', function()
|
||||
eq(1, call('executable', 'false'))
|
||||
end)
|
||||
|
||||
if iswin() then
|
||||
it('exepath respects shellslash', function()
|
||||
command('let $PATH = fnamemodify("./test/functional/fixtures/bin", ":p")')
|
||||
eq([[test\functional\fixtures\bin\null.CMD]], call('fnamemodify', call('exepath', 'null'), ':.'))
|
||||
command('set shellslash')
|
||||
eq('test/functional/fixtures/bin/null.CMD', call('fnamemodify', call('exepath', 'null'), ':.'))
|
||||
end)
|
||||
|
||||
it('stdpath respects shellslash', function()
|
||||
eq([[build\Xtest_xdg\share\nvim-data]], call('fnamemodify', call('stdpath', 'data'), ':.'))
|
||||
command('set shellslash')
|
||||
eq('build/Xtest_xdg/share/nvim-data', call('fnamemodify', call('stdpath', 'data'), ':.'))
|
||||
end)
|
||||
end
|
||||
|
||||
it('fails for invalid values', function()
|
||||
for _, input in ipairs({'v:null', 'v:true', 'v:false', '{}', '[]'}) do
|
||||
eq('Vim(call):E928: String required', exc_exec('call executable('..input..')'))
|
||||
|
Reference in New Issue
Block a user