mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
* Restore old behavior of ALEFix command for Rubocop Since RuboCop 0.60 ALEFix command stopped to fix all found offenses. This change restores the previous behavior by allowing rubocop to fix all detected offenses. * Fix tests * Allow to configure auto-correct option for Rubocop
68 lines
2.2 KiB
Plaintext
68 lines
2.2 KiB
Plaintext
Before:
|
|
Save g:ale_ruby_rubocop_executable
|
|
Save g:ale_ruby_rubocop_options
|
|
|
|
" Use an invalid global executable, so we don't match it.
|
|
let g:ale_ruby_rubocop_executable = 'xxxinvalid'
|
|
let g:ale_ruby_rubocop_options = ''
|
|
|
|
call ale#test#SetDirectory('/testplugin/test/fixers')
|
|
silent cd ..
|
|
silent cd command_callback
|
|
let g:dir = getcwd()
|
|
|
|
After:
|
|
Restore
|
|
|
|
call ale#test#RestoreDirectory()
|
|
|
|
Execute(The rubocop callback should return the correct default values):
|
|
call ale#test#SetFilename('ruby_paths/dummy.rb')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_ruby_rubocop_executable)
|
|
\ . ' --auto-correct --force-exclusion %t',
|
|
\ },
|
|
\ ale#fixers#rubocop#Fix(bufnr(''))
|
|
|
|
Execute(The rubocop callback should include configuration files):
|
|
call ale#test#SetFilename('ruby_paths/with_config/dummy.rb')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_ruby_rubocop_executable)
|
|
\ . ' --config ' . ale#Escape(ale#path#Simplify(g:dir . '/ruby_paths/with_config/.rubocop.yml'))
|
|
\ . ' --auto-correct --force-exclusion %t',
|
|
\ },
|
|
\ ale#fixers#rubocop#Fix(bufnr(''))
|
|
|
|
Execute(The rubocop callback should include custom rubocop options):
|
|
let g:ale_ruby_rubocop_options = '--except Lint/Debugger'
|
|
call ale#test#SetFilename('ruby_paths/with_config/dummy.rb')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_ruby_rubocop_executable)
|
|
\ . ' --config ' . ale#Escape(ale#path#Simplify(g:dir . '/ruby_paths/with_config/.rubocop.yml'))
|
|
\ . ' --except Lint/Debugger'
|
|
\ . ' --auto-correct --force-exclusion %t',
|
|
\ },
|
|
\ ale#fixers#rubocop#Fix(bufnr(''))
|
|
|
|
Execute(The rubocop callback should use auto-correct-all option when set):
|
|
let g:ale_ruby_rubocop_auto_correct_all = 1
|
|
call ale#test#SetFilename('ruby_paths/with_config/dummy.rb')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_ruby_rubocop_executable)
|
|
\ . ' --config ' . ale#Escape(ale#path#Simplify(g:dir . '/ruby_paths/with_config/.rubocop.yml'))
|
|
\ . ' --auto-correct-all --force-exclusion %t',
|
|
\ },
|
|
\ ale#fixers#rubocop#Fix(bufnr(''))
|