2017-04-29 12:33:18 -04:00
|
|
|
Before:
|
|
|
|
runtime ale_linters/go/gometalinter.vim
|
|
|
|
|
|
|
|
After:
|
|
|
|
call ale#linter#Reset()
|
|
|
|
|
|
|
|
Execute (The gometalinter handler should handle names with spaces):
|
|
|
|
" We can't test Windows paths with the path resovling on Linux, but we can
|
|
|
|
" test the regex.
|
|
|
|
AssertEqual
|
|
|
|
\ [
|
|
|
|
\ [
|
|
|
|
\ 'C:\something\file with spaces.go',
|
|
|
|
\ '12',
|
|
|
|
\ '3',
|
|
|
|
\ 'warning',
|
|
|
|
\ 'expected ''package'', found ''IDENT'' gibberish (staticcheck)',
|
|
|
|
\ ],
|
|
|
|
\ [
|
|
|
|
\ 'C:\something\file with spaces.go',
|
|
|
|
\ '37',
|
|
|
|
\ '5',
|
|
|
|
\ 'error',
|
|
|
|
\ 'expected ''package'', found ''IDENT'' gibberish (golint)',
|
|
|
|
\ ],
|
|
|
|
\ ],
|
|
|
|
\ map(ale_linters#go#gometalinter#GetMatches([
|
|
|
|
\ 'C:\something\file with spaces.go:12:3:warning: expected ''package'', found ''IDENT'' gibberish (staticcheck)',
|
|
|
|
\ 'C:\something\file with spaces.go:37:5:error: expected ''package'', found ''IDENT'' gibberish (golint)',
|
|
|
|
\ ]), 'v:val[1:5]')
|
|
|
|
|
|
|
|
Execute (The gometalinter handler should handle relative paths correctly):
|
2017-05-15 15:43:55 -04:00
|
|
|
silent file /foo/bar/baz.go
|
2017-04-29 12:33:18 -04:00
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ [
|
|
|
|
\ {
|
|
|
|
\ 'lnum': 12,
|
|
|
|
\ 'col': 3,
|
|
|
|
\ 'text': 'expected ''package'', found ''IDENT'' gibberish (staticcheck)',
|
|
|
|
\ 'type': 'W',
|
|
|
|
\ },
|
|
|
|
\ {
|
|
|
|
\ 'lnum': 37,
|
|
|
|
\ 'col': 5,
|
|
|
|
\ 'text': 'expected ''package'', found ''IDENT'' gibberish (golint)',
|
|
|
|
\ 'type': 'E',
|
|
|
|
\ },
|
|
|
|
\ ],
|
2017-05-15 15:43:55 -04:00
|
|
|
\ ale_linters#go#gometalinter#Handler(bufnr(''), [
|
2017-04-29 12:33:18 -04:00
|
|
|
\ 'baz.go:12:3:warning: expected ''package'', found ''IDENT'' gibberish (staticcheck)',
|
|
|
|
\ 'baz.go:37:5:error: expected ''package'', found ''IDENT'' gibberish (golint)',
|
|
|
|
\ ])
|
2017-05-15 15:43:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
Execute (The gometalinter handler should filter out errors from other files):
|
|
|
|
silent file! /some/path/sql.go
|
|
|
|
|
|
|
|
AssertEqual
|
|
|
|
\ [],
|
|
|
|
\ ale_linters#go#gometalinter#Handler(bufnr(''), [
|
|
|
|
\ '/some/path/interface_implementation_test.go:417::warning: cyclomatic complexity 24 of function testGetUserHeaders() is high (> 10) (gocyclo)',
|
|
|
|
\ '/some/path/sql_helpers.go:38::warning: cyclomatic complexity 11 of function CreateTestUserMetadataDB() is high (> 10) (gocyclo)',
|
|
|
|
\ '/some/path/sql_alpha.go:560:7:warning: ineffectual assignment to err (ineffassign)',
|
|
|
|
\ '/some/path/sql_alpha.go:589:7:warning: ineffectual assignment to err (ineffassign)',
|
|
|
|
\ '/some/path/sql_test.go:124:9:warning: should not use basic type untyped string as key in context.WithValue (golint)',
|
|
|
|
\ '/some/path/interface_implementation_test.go:640::warning: declaration of "cfg" shadows declaration at sql_test.go:21 (vetshadow)',
|
|
|
|
\ '/some/path/sql_helpers.go:55::warning: declaration of "err" shadows declaration at sql_helpers.go:48 (vetshadow)',
|
|
|
|
\ '/some/path/sql_helpers.go:91::warning: declaration of "err" shadows declaration at sql_helpers.go:48 (vetshadow)',
|
|
|
|
\ '/some/path/sql_helpers.go:108::warning: declaration of "err" shadows declaration at sql_helpers.go:48 (vetshadow)',
|
|
|
|
\ '/some/path/user_metadata_db.go:149::warning: declaration of "err" shadows declaration at user_metadata_db.go:140 (vetshadow)',
|
|
|
|
\ '/some/path/user_metadata_db.go:188::warning: declaration of "err" shadows declaration at user_metadata_db.go:179 (vetshadow)',
|
|
|
|
\ '/some/path/queries_alpha.go:62::warning: Potential hardcoded credentials,HIGH,LOW (gas)',
|
|
|
|
\ ])
|