mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-25 13:31:09 +08:00
Add support for jsonnetfmt and jsonnet-lint (#3907)
* update to lates Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com> * fix up docs Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com> * fix docs Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com> * get tests passing Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com> * update regex Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com> * use ale#Pad and AssertFixer Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>
This commit is contained in:
38
test/fixers/test_jsonnetfmt_fixer_callback.vader
Normal file
38
test/fixers/test_jsonnetfmt_fixer_callback.vader
Normal file
@@ -0,0 +1,38 @@
|
||||
Before:
|
||||
Save g:ale_jsonnet_jsonnetfmt_executable
|
||||
Save g:ale_jsonnet_jsonnetfmt_options
|
||||
|
||||
" Use an invalid global executable, so we don't match it.
|
||||
let g:ale_jsonnet_jsonnetfmt_executable = 'xxxinvalid'
|
||||
let g:ale_jsonnet_jsonnetfmt_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
call ale#assert#SetUpFixerTest('jsonnet', 'jsonnetfmt')
|
||||
|
||||
After:
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#assert#TearDownFixerTest()
|
||||
|
||||
Execute(The jsonnetfmt callback should return the correct default values):
|
||||
call ale#test#SetFilename('../jsonnet_files/testfile.jsonnet')
|
||||
|
||||
AssertFixer {
|
||||
\ 'read_temporary_file': 1,
|
||||
\ 'command': ale#Escape(g:ale_jsonnet_jsonnetfmt_executable)
|
||||
\ . ' -i'
|
||||
\ . ' %t',
|
||||
\}
|
||||
|
||||
Execute(The jsonnetfmt callback should include custom options):
|
||||
let g:ale_jsonnet_jsonnetfmt_options = '--pad-arrays'
|
||||
|
||||
call ale#test#SetFilename('../jsonnet_files/testfile.jsonnet')
|
||||
|
||||
AssertFixer {
|
||||
\ 'read_temporary_file': 1,
|
||||
\ 'command': ale#Escape(g:ale_jsonnet_jsonnetfmt_executable)
|
||||
\ . ' -i'
|
||||
\ . ' ' . g:ale_jsonnet_jsonnetfmt_options
|
||||
\ . ' %t',
|
||||
\}
|
||||
|
||||
1
test/jsonnet_files/testfile.jsonnet
Normal file
1
test/jsonnet_files/testfile.jsonnet
Normal file
@@ -0,0 +1 @@
|
||||
{ foo: bar }
|
||||
19
test/linter/test_jsonnet_lint.vader
Normal file
19
test/linter/test_jsonnet_lint.vader
Normal file
@@ -0,0 +1,19 @@
|
||||
Before:
|
||||
call ale#assert#SetUpLinterTest('jsonnet', 'jsonnet_lint')
|
||||
call ale#test#SetFilename('../jsonnet_files/testfile.jsonnet')
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(The default jsonnet-lint command should be correct):
|
||||
AssertLinter 'jsonnet-lint',
|
||||
\ ale#Escape('jsonnet-lint') . ' %t'
|
||||
|
||||
Execute(jsonnet-lint command and options should be customizable):
|
||||
let g:ale_jsonnet_jsonnet_lint_executable = 'jsonnet'
|
||||
let g:ale_jsonnet_jsonnet_lint_options = 'fmt'
|
||||
|
||||
AssertLinter 'jsonnet',
|
||||
\ ale#Escape('jsonnet') . ' fmt %t'
|
||||
19
test/linter/test_jsonnetfmt.vader
Normal file
19
test/linter/test_jsonnetfmt.vader
Normal file
@@ -0,0 +1,19 @@
|
||||
Before:
|
||||
call ale#assert#SetUpLinterTest('jsonnet', 'jsonnetfmt')
|
||||
call ale#test#SetFilename('../jsonnet_files/testfile.jsonnet')
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(The default jsonnetfmt command should be correct):
|
||||
AssertLinter 'jsonnetfmt',
|
||||
\ ale#Escape('jsonnetfmt') . ' %t'
|
||||
|
||||
Execute(jsonnetfmt command and options should be customizable):
|
||||
let g:ale_jsonnet_jsonnetfmt_executable = 'jsonnet'
|
||||
let g:ale_jsonnet_jsonnetfmt_options = 'fmt'
|
||||
|
||||
AssertLinter 'jsonnet',
|
||||
\ ale#Escape('jsonnet') . ' fmt %t'
|
||||
Reference in New Issue
Block a user