Some absolute paths are not recognized for Windows (#4987)
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled

* Some abs paths are not recognized for win32

Paths like "c:/abc/def.cpp" were not recognized as absolute on Windows.

* Fix test for mypy_handler

mypy handler not just simplifies path, but tries to convert path to
absolute.
This commit is contained in:
Andrey Starodubtsev
2025-06-24 13:05:11 +03:00
committed by GitHub
parent a0572359ae
commit 9e49019a26
3 changed files with 22 additions and 6 deletions

View File

@@ -107,7 +107,7 @@ Execute(The mypy handler should handle Windows names with spaces):
\ {
\ 'lnum': 4,
\ 'col': 0,
\ 'filename': ale#path#Simplify('C:\something\with spaces.py'),
\ 'filename': ale#path#GetAbsPath(getcwd(), 'C:\something\with spaces.py'),
\ 'type': 'E',
\ 'text': 'No library stub file for module ''django.db''',
\ },

View File

@@ -13,6 +13,15 @@ Execute(Relative paths should be resolved correctly):
AssertEqual
\ 'C:\foo\bar\baz\whatever.txt',
\ ale#path#GetAbsPath('C:\foo\bar\baz\xyz', '../whatever.txt')
AssertEqual
\ 'C:\foo\bar\baz\whatever.txt',
\ ale#path#GetAbsPath('C:\foo\bar\baz\xyz', '..\whatever.txt')
AssertEqual
\ 'C:\foo\bar\baz\whatever.txt',
\ ale#path#GetAbsPath('C:/foo/bar/baz/xyz', '../whatever.txt')
AssertEqual
\ 'C:\foo\bar\baz\whatever.txt',
\ ale#path#GetAbsPath('C:/foo/bar/baz/xyz', '..\whatever.txt')
endif
Execute(Absolute paths should be resolved correctly):
@@ -26,4 +35,12 @@ Execute(Absolute paths should be resolved correctly):
if has('win32')
AssertEqual '\ding', ale#path#GetAbsPath('/foo/bar/xyz', '\\ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('/foo/bar/xyz', 'c:/ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('/foo/bar/xyz', 'c:\ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('\foo\bar\xyz', 'c:/ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('\foo\bar\xyz', 'c:\ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('c:/foo/bar/xyz', 'c:/ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('c:/foo/bar/xyz', 'c:\ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('c:\foo\bar\xyz', 'c:/ding')
AssertEqual 'c:\ding', ale#path#GetAbsPath('c:\foo\bar\xyz', 'c:\ding')
endif