summaryrefslogtreecommitdiff
path: root/test/linter
diff options
context:
space:
mode:
Diffstat (limited to 'test/linter')
-rw-r--r--test/linter/test_css_csslint.vader17
-rw-r--r--test/linter/test_hadolint.vader25
-rw-r--r--test/linter/test_jsonlint.vader31
-rw-r--r--test/linter/test_puppet_languageserver.vader19
4 files changed, 92 insertions, 0 deletions
diff --git a/test/linter/test_css_csslint.vader b/test/linter/test_css_csslint.vader
new file mode 100644
index 00000000..7bba5bb1
--- /dev/null
+++ b/test/linter/test_css_csslint.vader
@@ -0,0 +1,17 @@
+Before:
+ call ale#assert#SetUpLinterTest('css', 'csslint')
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(--config should be set when the .csslintrc file is found):
+ call ale#test#SetFilename('../test-files/csslint/some-app/subdir/testfile.js')
+
+ AssertLinter 'csslint', 'csslint --format=compact '
+ \ . '--config=' . ale#Escape(ale#path#Simplify(g:dir . '/../test-files/csslint/some-app/.csslintrc'))
+ \ . ' %t'
+
+Execute(--config should not be used when no .csslintrc file exists):
+ call ale#test#SetFilename('../test-files/csslint/other-app/testfile.css')
+
+ AssertLinter 'csslint', 'csslint --format=compact %t'
diff --git a/test/linter/test_hadolint.vader b/test/linter/test_hadolint.vader
new file mode 100644
index 00000000..da335400
--- /dev/null
+++ b/test/linter/test_hadolint.vader
@@ -0,0 +1,25 @@
+Before:
+ call ale#assert#SetUpLinterTest('dockerfile', 'hadolint')
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(We should not use Docker by default):
+ AssertLinter 'hadolint', 'hadolint --no-color -'
+
+Execute(Options should be passed correctly when docker is disabled):
+ let b:ale_dockerfile_hadolint_options = '--ignore DL3006'
+
+ AssertLinter 'hadolint', 'hadolint --ignore DL3006 --no-color -'
+
+Execute(The command should be correct when using Docker):
+ let b:ale_dockerfile_hadolint_use_docker = 'always'
+
+ AssertLinter 'docker', 'docker run --rm -i hadolint/hadolint hadolint --no-color -'
+
+Execute(The command should be correct when using docker and supplying options):
+ let b:ale_dockerfile_hadolint_use_docker = 'always'
+ let b:ale_dockerfile_hadolint_options = '--ignore DL3006'
+
+ AssertLinter 'docker',
+ \ 'docker run --rm -i hadolint/hadolint hadolint --ignore DL3006 --no-color -'
diff --git a/test/linter/test_jsonlint.vader b/test/linter/test_jsonlint.vader
new file mode 100644
index 00000000..52bbe248
--- /dev/null
+++ b/test/linter/test_jsonlint.vader
@@ -0,0 +1,31 @@
+Before:
+ call ale#assert#SetUpLinterTest('json', 'jsonlint')
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(local executable should be detected correctly):
+ call ale#test#SetFilename('../test-files/jsonlint/app/src/app.json')
+
+ AssertEqual
+ \ ale#path#Simplify(g:dir . '/../test-files/jsonlint/app/node_modules/.bin/jsonlint'),
+ \ ale_linters#json#jsonlint#GetExecutable(bufnr(''))
+ \
+Execute(use_global should override project executable):
+ let g:ale_json_jsonlint_use_global = 1
+
+ call ale#test#SetFilename('../test-files/jsonlint/app/src/app.json')
+
+ AssertEqual
+ \ 'jsonlint',
+ \ ale_linters#json#jsonlint#GetExecutable(bufnr(''))
+ \
+Execute(manually defined should override default executable):
+ let g:ale_json_jsonlint_use_global = 1
+ let g:ale_json_jsonlint_executable = 'custom_jsonlint'
+
+ call ale#test#SetFilename('../test-files/jsonlint/app/src/app.json')
+
+ AssertEqual
+ \ 'custom_jsonlint',
+ \ ale_linters#json#jsonlint#GetExecutable(bufnr(''))
diff --git a/test/linter/test_puppet_languageserver.vader b/test/linter/test_puppet_languageserver.vader
new file mode 100644
index 00000000..3fb458ab
--- /dev/null
+++ b/test/linter/test_puppet_languageserver.vader
@@ -0,0 +1,19 @@
+Before:
+ call ale#assert#SetUpLinterTest('puppet', 'languageserver')
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(old-style module should find its root correctly):
+ call ale#test#SetFilename('../test-files/puppet/old-style-module/manifests/init.pp')
+
+ AssertEqual
+ \ ale#path#Simplify(g:dir . '/../test-files/puppet/old-style-module'),
+ \ ale_linters#puppet#languageserver#GetProjectRoot(bufnr(''))
+ \
+Execute(new-style module should find its root correctly):
+ call ale#test#SetFilename('../test-files/puppet/new-style-module/lib/puppet/types/exampletype.rb')
+
+ AssertEqual
+ \ ale#path#Simplify(g:dir . '/../test-files/puppet/new-style-module'),
+ \ ale_linters#puppet#languageserver#GetProjectRoot(bufnr(''))