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:
Trevor Whitney
2021-09-20 19:49:15 -06:00
committed by GitHub
parent 2f72a3ed19
commit f8a4c78b5b
12 changed files with 263 additions and 0 deletions

View 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',
\}

View File

@@ -0,0 +1 @@
{ foo: bar }

View 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'

View 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'