mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-07 21:24:33 +08:00
Massively reduce the amount of code needed for linter tests
This commit is contained in:
@@ -1,10 +1,5 @@
|
||||
Before:
|
||||
Save g:ale_ruby_rails_best_practices_executable
|
||||
|
||||
let g:ale_ruby_rails_best_practices_executable = 'rails_best_practices'
|
||||
|
||||
runtime ale_linters/ruby/rails_best_practices.vim
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
call ale#assert#SetUpLinterTest('ruby', 'rails_best_practices')
|
||||
call ale#test#SetFilename('../ruby_fixtures/valid_rails_app/db/test.rb')
|
||||
|
||||
let b:args = '--silent -f json'
|
||||
@@ -13,45 +8,35 @@ Before:
|
||||
let b:suffix = has('win32') ? '; type %t' : ''
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
unlet! b:args
|
||||
unlet! b:app_path
|
||||
unlet! b:suffix
|
||||
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(Executable should default to rails_best_practices):
|
||||
AssertEqual
|
||||
\ ale#Escape('rails_best_practices')
|
||||
AssertLinter 'rails_best_practices', ale#Escape('rails_best_practices')
|
||||
\ . ' ' . b:args
|
||||
\ . ' ' . ale#Escape(b:app_path)
|
||||
\ . b:suffix,
|
||||
\ ale_linters#ruby#rails_best_practices#GetCommand(bufnr(''))
|
||||
\ . b:suffix
|
||||
|
||||
Execute(Should be able to set a custom executable):
|
||||
let g:ale_ruby_rails_best_practices_executable = 'bin/rails_best_practices'
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('bin/rails_best_practices')
|
||||
AssertLinter 'bin/rails_best_practices', ale#Escape('bin/rails_best_practices')
|
||||
\ . ' ' . b:args
|
||||
\ . ' ' . ale#Escape(b:app_path)
|
||||
\ . b:suffix,
|
||||
\ ale_linters#ruby#rails_best_practices#GetCommand(bufnr(''))
|
||||
\ . b:suffix
|
||||
|
||||
Execute(Setting bundle appends 'exec rails_best_practices'):
|
||||
let g:ale_ruby_rails_best_practices_executable = 'path to/bundle'
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('path to/bundle') . ' exec rails_best_practices'
|
||||
AssertLinter 'path to/bundle', ale#Escape('path to/bundle')
|
||||
\ . ' exec rails_best_practices'
|
||||
\ . ' ' . b:args
|
||||
\ . ' ' . ale#Escape(b:app_path)
|
||||
\ . b:suffix,
|
||||
\ ale_linters#ruby#rails_best_practices#GetCommand(bufnr(''))
|
||||
\ . b:suffix
|
||||
|
||||
Execute(Command callback should be empty when not in a valid Rails app):
|
||||
call ale#test#SetFilename('../ruby_fixtures/not_a_rails_app/test.rb')
|
||||
|
||||
AssertEqual
|
||||
\ '',
|
||||
\ ale_linters#ruby#rails_best_practices#GetCommand(bufnr(''))
|
||||
AssertLinter 'rails_best_practices', ''
|
||||
|
||||
Reference in New Issue
Block a user