Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Bartek thindil Jasicki
2021-01-22 17:52:01 +01:00
37 changed files with 725 additions and 118 deletions

View File

@@ -0,0 +1,15 @@
Before:
call ale#assert#SetUpLinterTest('dart', 'analysis_server')
After:
call ale#assert#TearDownLinterTest()
Execute(The default command should be correct):
AssertLinter 'dart', ale#Escape('dart')
\ . ' ./snapshots/analysis_server.dart.snapshot --lsp'
Execute(The executable should be configurable):
let g:ale_dart_analysis_server_executable = 'foobar'
AssertLinter 'foobar', ale#Escape('foobar')
\ . ' ./snapshots/analysis_server.dart.snapshot --lsp'

View File

@@ -0,0 +1,15 @@
Before:
call ale#assert#SetUpLinterTest('openapi', 'ibm_validator')
After:
call ale#assert#TearDownLinterTest()
Execute(The yaml ibm-openapi-validator command callback should return the correct default string):
AssertLinter 'lint-openapi', ale#Escape('lint-openapi') . ' %t'
Execute(The yaml ibm-openapi-validator command callback should be configurable):
let g:ale_openapi_ibm_validator_executable = '~/.local/bin/lint-openapi'
let g:ale_openapi_ibm_validator_options = '-c ~/.config'
AssertLinter '~/.local/bin/lint-openapi', ale#Escape('~/.local/bin/lint-openapi')
\ . ' -c ~/.config %t'

View File

@@ -1,8 +1,11 @@
Before:
call ale#assert#SetUpLinterTest('typescript', 'xo')
call ale#test#SetFilename('testfile.ts')
call ale#assert#SetUpLinterTest('javascript', 'xo')
call ale#test#SetFilename('testfile.jsx')
unlet! b:executable
set filetype=javascriptreact
runtime autoload/ale/handlers/xo.vim
After:
call ale#assert#TearDownLinterTest()
@@ -10,11 +13,11 @@ Execute(The XO executable should be called):
AssertLinter 'xo', ale#Escape('xo') . ' --reporter json --stdin --stdin-filename %s'
Execute(The XO executable should be configurable):
let b:ale_typescript_xo_executable = 'foobar'
let b:ale_javascript_xo_executable = 'foobar'
AssertLinter 'foobar', ale#Escape('foobar') . ' --reporter json --stdin --stdin-filename %s'
Execute(The XO options should be configurable):
let b:ale_typescript_xo_options = '--wat'
let b:ale_javascript_xo_options = '--wat'
AssertLinter 'xo', ale#Escape('xo') . ' --wat --reporter json --stdin --stdin-filename %s'

View File

@@ -0,0 +1,23 @@
Before:
call ale#assert#SetUpLinterTest('typescript', 'xo')
call ale#test#SetFilename('testfile.tsx')
unlet! b:executable
set filetype=typescriptreact
runtime autoload/ale/handlers/xo.vim
After:
call ale#assert#TearDownLinterTest()
Execute(The XO executable should be called):
AssertLinter 'xo', ale#Escape('xo') . ' --reporter json --stdin --stdin-filename %s'
Execute(The XO executable should be configurable):
let b:ale_typescript_xo_executable = 'foobar'
AssertLinter 'foobar', ale#Escape('foobar') . ' --reporter json --stdin --stdin-filename %s'
Execute(The XO options should be configurable):
let b:ale_typescript_xo_options = '--wat'
AssertLinter 'xo', ale#Escape('xo') . ' --wat --reporter json --stdin --stdin-filename %s'

View File

View File

@@ -0,0 +1,45 @@
Before:
call ale#assert#SetUpFixerTest('javascript', 'xo')
runtime autoload/ale/handlers/xo.vim
set filetype=javascript
After:
call ale#assert#TearDownFixerTest()
Execute(The xo callback should return the correct default values):
call ale#test#SetFilename('../xo-test-files/monorepo/packages/a/index.js')
AssertFixer
\ {
\ 'read_temporary_file': 1,
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../xo-test-files/monorepo/node_modules/xo/cli.js'))
\ . ' --fix %t',
\ }
Execute(The xo callback should include custom xo options):
let g:ale_javascript_xo_options = '--space'
call ale#test#SetFilename('../xo-test-files/monorepo/packages/a/index.js')
AssertFixer
\ {
\ 'read_temporary_file': 1,
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../xo-test-files/monorepo/node_modules/xo/cli.js'))
\ . ' --fix %t'
\ . ' --space',
\ }
Execute(--stdin should be used when xo is new enough):
let g:ale_javascript_xo_options = '--space'
call ale#test#SetFilename('../xo-test-files/monorepo/packages/a/index.js')
GivenCommandOutput ['0.30.0']
AssertFixer
\ {
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../xo-test-files/monorepo/node_modules/xo/cli.js'))
\ . ' --stdin --stdin-filename %s'
\ . ' --fix'
\ . ' --space',
\ }

View File

@@ -0,0 +1,45 @@
Before:
call ale#assert#SetUpFixerTest('typescript', 'xo')
runtime autoload/ale/handlers/xo.vim
set filetype=typescript
After:
call ale#assert#TearDownFixerTest()
Execute(The xo callback should return the correct default values):
call ale#test#SetFilename('../xo-test-files/monorepo/packages/a/index.ts')
AssertFixer
\ {
\ 'read_temporary_file': 1,
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../xo-test-files/monorepo/node_modules/xo/cli.js'))
\ . ' --fix %t',
\ }
Execute(The xo callback should include custom xo options):
let g:ale_typescript_xo_options = '--space'
call ale#test#SetFilename('../xo-test-files/monorepo/packages/a/index.ts')
AssertFixer
\ {
\ 'read_temporary_file': 1,
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../xo-test-files/monorepo/node_modules/xo/cli.js'))
\ . ' --fix %t'
\ . ' --space',
\ }
Execute(--stdin should be used when xo is new enough):
let g:ale_typescript_xo_options = '--space'
call ale#test#SetFilename('../xo-test-files/monorepo/packages/a/index.ts')
GivenCommandOutput ['0.30.0']
AssertFixer
\ {
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../xo-test-files/monorepo/node_modules/xo/cli.js'))
\ . ' --stdin --stdin-filename %s'
\ . ' --fix'
\ . ' --space',
\ }

View File

@@ -0,0 +1,49 @@
Before:
runtime! ale_linters/openapi/ibm_validator.vim
After:
call ale#linter#Reset()
Execute(Problems should be parsed correctly for openapi-ibm-validator):
AssertEqual
\ [
\ {
\ 'lnum': 54,
\ 'col': 0,
\ 'type': 'E',
\ 'text': 'Items with a description must have content in it.',
\ },
\ {
\ 'lnum': 24,
\ 'col': 0,
\ 'type': 'W',
\ 'text': 'Operations must have a non-empty `operationId`.',
\ },
\ {
\ 'lnum': 40,
\ 'col': 0,
\ 'type': 'W',
\ 'text': 'operationIds must follow case convention: lower_snake_case',
\ },
\ ],
\ ale_linters#openapi#ibm_validator#Handle(bufnr(''), [
\ '',
\ '[Warning] No .validaterc file found. The validator will run in default mode.',
\ 'To configure the validator, create a .validaterc file.',
\ '',
\ 'errors',
\ '',
\ ' Message : Items with a description must have content in it.',
\ ' Path : paths./settings.patch.description',
\ ' Line : 54',
\ '',
\ 'warnings',
\ '',
\ ' Message : Operations must have a non-empty `operationId`.',
\ ' Path : paths./stats.get.operationId',
\ ' Line : 24',
\ '',
\ ' Message : operationIds must follow case convention: lower_snake_case',
\ ' Path : paths./settings.get.operationId',
\ ' Line : 40'
\ ])

View File

@@ -0,0 +1,54 @@
Before:
runtime ale_linters/vala/vala_lint.vim
After:
call ale#linter#Reset()
Execute(The Vala-Lint handler should parse lines correctly):
AssertEqual
\ [
\ {
\ 'lnum': 18,
\ 'col': 18,
\ 'text': 'Expected space before paren',
\ 'code': 'space-before-paren',
\ 'type': 'E',
\ },
\ {
\ 'lnum': 64,
\ 'col': 37,
\ 'text': 'Expected space before paren',
\ 'code': 'space-before-paren',
\ 'type': 'W',
\ },
\ {
\ 'lnum': 73,
\ 'col': 37,
\ 'text': 'Expected space before paren',
\ 'code': 'space-before-paren',
\ 'type': 'E',
\ },
\ ],
\ ale_linters#vala#vala_lint#Handle(bufnr(''), [
\ 'Application.vala',
\ ' 18.18 error Expected space before paren space-before-paren',
\ ' 64.37 warn Expected space before paren space-before-paren',
\ ' 73.37 error Expected space before paren space-before-paren',
\ ])
Execute(The Vala-Lint handler should ignore unknown error types):
AssertEqual
\ [
\ {
\ 'lnum': 73,
\ 'col': 37,
\ 'text': 'Expected space before paren',
\ 'code': 'space-before-paren',
\ 'type': 'E',
\ },
\ ],
\ ale_linters#vala#vala_lint#Handle(bufnr(''), [
\ 'Application.vala',
\ ' 18.18 test Expected space before paren space-before-paren',
\ ' 73.37 error Expected space before paren space-before-paren',
\ ])

View File

@@ -3,7 +3,7 @@ Before:
let g:ale_warn_about_trailing_whitespace = 1
runtime! ale_linters/yaml/yamllint.vim
runtime! ale/handlers/yamllint.vim
After:
Restore
@@ -29,7 +29,7 @@ Execute(Problems should be parsed correctly for yamllint):
\ 'text': 'syntax error: expected the node content, but found ''<stream end>''',
\ },
\ ],
\ ale_linters#yaml#yamllint#Handle(bufnr(''), [
\ ale#handlers#yamllint#Handle(bufnr(''), [
\ 'something.yaml:1:1: [warning] missing document start "---" (document-start)',
\ 'something.yml:2:1: [error] syntax error: expected the node content, but found ''<stream end>''',
\ ])
@@ -45,7 +45,7 @@ Execute(The yamllint handler should respect ale_warn_about_trailing_whitespace):
\ 'code': 'trailing-spaces',
\ },
\ ],
\ ale_linters#yaml#yamllint#Handle(bufnr(''), [
\ ale#handlers#yamllint#Handle(bufnr(''), [
\ 'something.yml:5:18: [error] trailing spaces (trailing-spaces)',
\ ])
@@ -54,6 +54,6 @@ Execute(The yamllint handler should respect ale_warn_about_trailing_whitespace):
AssertEqual
\ [
\ ],
\ ale_linters#yaml#yamllint#Handle(bufnr(''), [
\ ale#handlers#yamllint#Handle(bufnr(''), [
\ 'something.yml:5:18: [error] trailing spaces (trailing-spaces)',
\ ])

0
test/xo-test-files/monorepo/node_modules/xo/cli.js generated vendored Normal file
View File

View File