summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTrevor Whitney <trevorjwhitney@gmail.com>2021-09-20 19:49:15 -0600
committerGitHub <noreply@github.com>2021-09-21 10:49:15 +0900
commitf8a4c78b5b293d11da9075373c9de0bb5afdeffe (patch)
treedd04aca1ee0b8f8cb5c91c0aac5172f8de607f07 /test
parent2f72a3ed1972d23a5ef50c78715ec68f090932e8 (diff)
downloadale-f8a4c78b5b293d11da9075373c9de0bb5afdeffe.zip
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>
Diffstat (limited to 'test')
-rw-r--r--test/fixers/test_jsonnetfmt_fixer_callback.vader38
-rw-r--r--test/jsonnet_files/testfile.jsonnet1
-rw-r--r--test/linter/test_jsonnet_lint.vader19
-rw-r--r--test/linter/test_jsonnetfmt.vader19
4 files changed, 77 insertions, 0 deletions
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'