Fix #2216 - Tolerate versions without path numbers

This commit is contained in:
w0rp 2019-01-27 10:56:02 +00:00
parent dd995d9aa9
commit 3ac12b6939
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 5 additions and 1 deletions

View File

@ -14,7 +14,7 @@ function! ale#semver#GetVersion(executable, version_lines) abort
let l:version = get(s:version_cache, a:executable, [])
for l:line in a:version_lines
let l:match = matchlist(l:line, '\v(\d+)\.(\d+)\.(\d+)')
let l:match = matchlist(l:line, '\v(\d+)\.(\d+)\.?(\d?)')
if !empty(l:match)
let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[3] + 0]

View File

@ -17,6 +17,10 @@ Execute(GetVersion should cache the version):
AssertEqual [3, 4, 7], ale#semver#GetVersion('dummy', ['Version 3.4.7'])
AssertEqual [3, 4, 7], ale#semver#GetVersion('dummy', [])
Execute(GetVersion should tolerate missing patch numbers):
" This goes against the semver spec, but we handle it anyway.
AssertEqual [3, 4, 0], ale#semver#GetVersion('dummy', ['Version 3.4'])
Execute(HasVersion should return 1 when the version has been cached):
call ale#semver#GetVersion('dummy', [])
AssertEqual 0, ale#semver#HasVersion('dummy')