Add scalastyle linter (#766)
* Add support for scalastyle * Add scalastyle docs * scalastyle support for column numbers * off by one column * Add tests for scalastyle command and handler * update readme for scalastyle * allow full scalastyle options instead of just config file * fix indentation * allow scalastyle config file in parent directories by a couple names. * check for missing match args with empty * remove echo * use a for loop
This commit is contained in:
27
test/command_callback/test_scalastyle_command_callback.vader
Normal file
27
test/command_callback/test_scalastyle_command_callback.vader
Normal file
@@ -0,0 +1,27 @@
|
||||
Before:
|
||||
runtime ale_linters/scala/scalastyle.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
let g:ale_scala_scalastyle_options = ''
|
||||
let g:ale_scalastyle_conf_loc = ''
|
||||
|
||||
Execute(Should return the correct default command):
|
||||
AssertEqual
|
||||
\ 'scalastyle %t',
|
||||
\ ale_linters#scala#scalastyle#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Should allow using a custom config file):
|
||||
let g:ale_scalastyle_config_loc = '/dooper/config.xml'
|
||||
|
||||
AssertEqual
|
||||
\ 'scalastyle --config ''/dooper/config.xml'' %t',
|
||||
\ ale_linters#scala#scalastyle#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Should allow using custom options):
|
||||
let g:ale_scala_scalastyle_options = '--warnings false --quiet true'
|
||||
|
||||
AssertEqual
|
||||
\ 'scalastyle --config ''/dooper/config.xml'' --warnings false --quiet true %t',
|
||||
\ ale_linters#scala#scalastyle#GetCommand(bufnr(''))
|
||||
|
||||
38
test/handler/test_scalastyle_handler.vader
Normal file
38
test/handler/test_scalastyle_handler.vader
Normal file
@@ -0,0 +1,38 @@
|
||||
Execute(The scalastyle handler should parse lines correctly):
|
||||
runtime! ale_linters/scala/scalastyle.vim
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 190,
|
||||
\ 'text': 'Missing or badly formed ScalaDoc: Missing @param str',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 200,
|
||||
\ 'col': 34,
|
||||
\ 'text': 'There should be a space before the plus (+) sign',
|
||||
\ 'type': 'E',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 200,
|
||||
\ 'col': 1,
|
||||
\ 'text': 'There should be a space before the plus (+) sign',
|
||||
\ 'type': 'E',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#scala#scalastyle#Handle(347, [
|
||||
\ 'Starting scalastyle',
|
||||
\ 'start file /home/test/Doop.scala',
|
||||
\ 'warning file=/home/test/Doop.scala message=Missing or badly formed ScalaDoc: Missing @param str line=190',
|
||||
\ 'error file=/home/test/Doop.scala message=There should be a space before the plus (+) sign line=200 column=33',
|
||||
\ 'error file=/home/test/Doop.scala message=There should be a space before the plus (+) sign line=200 column=0',
|
||||
\ 'end file /home/test/Doop.scala',
|
||||
\ 'Processed 1 file(s)',
|
||||
\ 'Found 0 errors',
|
||||
\ 'Found 3 warnings',
|
||||
\ 'Finished in 934 ms',
|
||||
\ ])
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
Reference in New Issue
Block a user