mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-08 20:43:31 +08:00
Add an AssertLinter command for tests
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
Before:
|
||||
call ale#assert#Init()
|
||||
|
||||
Save g:ale_typescript_tslint_executable
|
||||
Save g:ale_typescript_tslint_config_path
|
||||
Save g:ale_typescript_tslint_rules_dir
|
||||
@@ -26,26 +28,25 @@ After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The default tslint command should be correct):
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ 'tslint',
|
||||
\ 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
|
||||
\ . ale#Escape('tslint') . ' --format json %t',
|
||||
\ ale_linters#typescript#tslint#GetCommand(bufnr(''))
|
||||
\ . ale#Escape('tslint') . ' --format json %t'
|
||||
|
||||
Execute(The rules directory option should be included if set):
|
||||
let b:ale_typescript_tslint_rules_dir = '/foo/bar'
|
||||
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ 'tslint',
|
||||
\ 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
|
||||
\ . ale#Escape('tslint') . ' --format json'
|
||||
\ . ' -r ' . ale#Escape('/foo/bar')
|
||||
\ . ' %t',
|
||||
\ ale_linters#typescript#tslint#GetCommand(bufnr(''))
|
||||
\ . ' %t'
|
||||
|
||||
Execute(The executable should be configurable and escaped):
|
||||
let b:ale_typescript_tslint_executable = 'foo bar'
|
||||
|
||||
AssertEqual 'foo bar', ale_linters#typescript#tslint#GetExecutable(bufnr(''))
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ 'foo bar',
|
||||
\ 'cd ' . ale#Escape(expand('%:p:h')) . ' && '
|
||||
\ . ale#Escape('foo bar') . ' --format json %t',
|
||||
\ ale_linters#typescript#tslint#GetCommand(bufnr(''))
|
||||
\ . ale#Escape('foo bar') . ' --format json %t'
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Before:
|
||||
call ale#assert#Init()
|
||||
|
||||
Save g:ale_writegood_options
|
||||
Save g:ale_writegood_executable
|
||||
Save g:ale_writegood_use_global
|
||||
@@ -7,6 +9,8 @@ Before:
|
||||
unlet! g:ale_writegood_executable
|
||||
unlet! g:ale_writegood_use_global
|
||||
|
||||
runtime ale_linters/markdown/write-good.vim
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
call ale#test#SetFilename('testfile.txt')
|
||||
|
||||
@@ -16,42 +20,36 @@ After:
|
||||
Restore
|
||||
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The global executable should be used when the local one cannot be found):
|
||||
AssertEqual 'write-good', ale#handlers#writegood#GetExecutable(bufnr(''))
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ 'write-good',
|
||||
\ ale#Escape('write-good') . ' %t',
|
||||
\ ale#handlers#writegood#GetCommand(bufnr(''))
|
||||
|
||||
Execute(The options should be used in the command):
|
||||
let g:ale_writegood_options = '--foo --bar'
|
||||
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ 'write-good',
|
||||
\ ale#Escape('write-good') . ' --foo --bar %t',
|
||||
\ ale#handlers#writegood#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Should use the node_modules/.bin executable, if available):
|
||||
call ale#test#SetFilename('write-good-node-modules/test.txt')
|
||||
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ ale#path#Simplify(g:dir . '/write-good-node-modules/node_modules/.bin/write-good'),
|
||||
\ ale#handlers#writegood#GetExecutable(bufnr(''))
|
||||
AssertEqual
|
||||
\ ale#Escape(ale#path#Simplify(g:dir . '/write-good-node-modules/node_modules/.bin/write-good'))
|
||||
\ . ' %t',
|
||||
\ ale#handlers#writegood#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Should use the node_modules/write-good executable, if available):
|
||||
call ale#test#SetFilename('write-good-node-modules-2/test.txt')
|
||||
|
||||
AssertEqual
|
||||
AssertLinter
|
||||
\ ale#path#Simplify(g:dir . '/write-good-node-modules-2/node_modules/write-good/bin/write-good.js'),
|
||||
\ ale#handlers#writegood#GetExecutable(bufnr(''))
|
||||
AssertEqual
|
||||
\ (has('win32') ? 'node.exe ' : '')
|
||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/write-good-node-modules-2/node_modules/write-good/bin/write-good.js'))
|
||||
\ . ' %t',
|
||||
\ ale#handlers#writegood#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Should let users configure a global executable and override local paths):
|
||||
call ale#test#SetFilename('write-good-node-modules-2/test.txt')
|
||||
@@ -59,7 +57,4 @@ Execute(Should let users configure a global executable and override local paths)
|
||||
let g:ale_writegood_executable = 'foo-bar'
|
||||
let g:ale_writegood_use_global = 1
|
||||
|
||||
AssertEqual 'foo-bar', ale#handlers#writegood#GetExecutable(bufnr(''))
|
||||
AssertEqual
|
||||
\ ale#Escape('foo-bar') . ' %t',
|
||||
\ ale#handlers#writegood#GetCommand(bufnr(''))
|
||||
AssertLinter 'foo-bar', ale#Escape('foo-bar') . ' %t'
|
||||
|
||||
Reference in New Issue
Block a user