summaryrefslogtreecommitdiff
path: root/test/fixers
diff options
context:
space:
mode:
authorJon Parise <jon@indelible.org>2021-02-21 04:35:26 -0800
committerGitHub <noreply@github.com>2021-02-21 21:35:26 +0900
commit90b9597d500c528d46aa13ccfa678a86ef7ea22b (patch)
tree2f94224a548ac63f66860eddc7fa4f6f099923aa /test/fixers
parent2550f5d952caea4ac607ec0796d8f1fae4d7b9a5 (diff)
downloadale-90b9597d500c528d46aa13ccfa678a86ef7ea22b.zip
Add a buildifier fixer for Bazel files (#3499)
This fixer enables buildifier's formatting and "lint fix" modes. Additional options can be provided via `bazel_buildifier_options`. It also implements some basic logic for guessing the file's type. buildifier itself usually does this based on the filenames provided on the command line, but because we're piping our buffer via stdin, we need to do this manually.
Diffstat (limited to 'test/fixers')
-rw-r--r--test/fixers/test_buildifier_fixer_callback.vader43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/fixers/test_buildifier_fixer_callback.vader b/test/fixers/test_buildifier_fixer_callback.vader
new file mode 100644
index 00000000..36de9819
--- /dev/null
+++ b/test/fixers/test_buildifier_fixer_callback.vader
@@ -0,0 +1,43 @@
+Before:
+ let g:ale_bazel_buildifier_options = ''
+ call ale#assert#SetUpFixerTest('bzl', 'buildifier')
+
+After:
+ call ale#assert#TearDownFixerTest()
+
+Execute(The buildifier callback should return the correct default values):
+ call ale#test#SetFilename('bazel_paths/WORKSPACE')
+
+ AssertFixer
+ \ {
+ \ 'command': ale#Escape(g:ale_bazel_buildifier_executable)
+ \ . ' -mode fix -lint fix -type workspace -'
+ \ }
+
+Execute(The buildifier callback should include any additional options):
+ call ale#test#SetFilename('bazel_paths/WORKSPACE')
+ let g:ale_bazel_buildifier_options = '--some-option'
+
+ AssertFixer
+ \ {
+ \ 'command': ale#Escape(g:ale_bazel_buildifier_executable)
+ \ . ' -mode fix -lint fix -type workspace --some-option -',
+ \ }
+
+Execute(The buildifier callback should recognize BUILD files):
+ call ale#test#SetFilename('bazel_paths/BUILD')
+
+ AssertFixer
+ \ {
+ \ 'command': ale#Escape(g:ale_bazel_buildifier_executable)
+ \ . ' -mode fix -lint fix -type build -'
+ \ }
+
+Execute(The buildifier callback should recognize .bzl files):
+ call ale#test#SetFilename('bazel_paths/defs.bzl')
+
+ AssertFixer
+ \ {
+ \ 'command': ale#Escape(g:ale_bazel_buildifier_executable)
+ \ . ' -mode fix -lint fix -type bzl -'
+ \ }