From f8a4c78b5b293d11da9075373c9de0bb5afdeffe Mon Sep 17 00:00:00 2001 From: Trevor Whitney Date: Mon, 20 Sep 2021 19:49:15 -0600 Subject: Add support for jsonnetfmt and jsonnet-lint (#3907) * update to lates Signed-off-by: Trevor Whitney * fix up docs Signed-off-by: Trevor Whitney * fix docs Signed-off-by: Trevor Whitney * get tests passing Signed-off-by: Trevor Whitney * update regex Signed-off-by: Trevor Whitney * use ale#Pad and AssertFixer Signed-off-by: Trevor Whitney --- test/fixers/test_jsonnetfmt_fixer_callback.vader | 38 ++++++++++++++++++++++++ test/jsonnet_files/testfile.jsonnet | 1 + test/linter/test_jsonnet_lint.vader | 19 ++++++++++++ test/linter/test_jsonnetfmt.vader | 19 ++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 test/fixers/test_jsonnetfmt_fixer_callback.vader create mode 100644 test/jsonnet_files/testfile.jsonnet create mode 100644 test/linter/test_jsonnet_lint.vader create mode 100644 test/linter/test_jsonnetfmt.vader (limited to 'test') diff --git a/test/fixers/test_jsonnetfmt_fixer_callback.vader b/test/fixers/test_jsonnetfmt_fixer_callback.vader new file mode 100644 index 00000000..204d6583 --- /dev/null +++ b/test/fixers/test_jsonnetfmt_fixer_callback.vader @@ -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', + \} + diff --git a/test/jsonnet_files/testfile.jsonnet b/test/jsonnet_files/testfile.jsonnet new file mode 100644 index 00000000..fc8fb78a --- /dev/null +++ b/test/jsonnet_files/testfile.jsonnet @@ -0,0 +1 @@ +{ foo: bar } diff --git a/test/linter/test_jsonnet_lint.vader b/test/linter/test_jsonnet_lint.vader new file mode 100644 index 00000000..529ae008 --- /dev/null +++ b/test/linter/test_jsonnet_lint.vader @@ -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' diff --git a/test/linter/test_jsonnetfmt.vader b/test/linter/test_jsonnetfmt.vader new file mode 100644 index 00000000..d070cd9f --- /dev/null +++ b/test/linter/test_jsonnetfmt.vader @@ -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' -- cgit v1.2.3