summaryrefslogtreecommitdiff
path: root/test/command_callback/test_htmlhint_command_callback.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-01-28 12:44:42 +0000
committerw0rp <devw0rp@gmail.com>2018-01-28 12:44:42 +0000
commit65fc5d11c77527bbf19a94da919fb37b5a02924b (patch)
tree4bbd896f3b6032732682e4840d326768fc9db8ea /test/command_callback/test_htmlhint_command_callback.vader
parent7ef55a86152c3e17e13702f0d9753d7fc9c4d256 (diff)
downloadale-65fc5d11c77527bbf19a94da919fb37b5a02924b.zip
Fix #1038 - Automatically detect and use htmlhint configuration files
Diffstat (limited to 'test/command_callback/test_htmlhint_command_callback.vader')
-rw-r--r--test/command_callback/test_htmlhint_command_callback.vader71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/command_callback/test_htmlhint_command_callback.vader b/test/command_callback/test_htmlhint_command_callback.vader
new file mode 100644
index 00000000..5bb21a6b
--- /dev/null
+++ b/test/command_callback/test_htmlhint_command_callback.vader
@@ -0,0 +1,71 @@
+Before:
+ Save g:ale_html_htmlhint_options
+ Save g:ale_html_htmlhint_executable
+ Save g:ale_html_htmlhint_use_global
+
+ unlet! g:ale_html_htmlhint_options
+ unlet! g:ale_html_htmlhint_executable
+ unlet! g:ale_html_htmlhint_use_global
+
+ runtime ale_linters/html/htmlhint.vim
+ call ale#test#SetDirectory('/testplugin/test/command_callback')
+ call ale#test#SetFilename('htmlhint_paths/test.html')
+
+ let g:node_executable = ale#path#Simplify(
+ \ g:dir
+ \ . '/htmlhint_paths/node_modules/.bin/htmlhint'
+ \)
+ let g:config_path = ale#path#Simplify(
+ \ g:dir
+ \ . '/htmlhint_paths/with_config/.htmlhintrc'
+ \)
+
+After:
+ Restore
+
+ unlet! g:node_executable
+ unlet! g:config_path
+
+ call ale#test#RestoreDirectory()
+ call ale#linter#Reset()
+
+Execute(The default command should be correct):
+ AssertEqual
+ \ ale#Escape(g:node_executable) . ' --format=unix %t',
+ \ ale_linters#html#htmlhint#GetCommand(bufnr(''))
+
+Execute(The global executable should be uesd if the option is set):
+ let g:ale_html_htmlhint_executable = 'foo'
+ let g:ale_html_htmlhint_use_global = 1
+
+ AssertEqual
+ \ ale#Escape('foo') . ' --format=unix %t',
+ \ ale_linters#html#htmlhint#GetCommand(bufnr(''))
+
+" This is so old configurations which might include this still work.
+Execute(--format=unix should be removed from the options if added):
+ let g:ale_html_htmlhint_options = '--format=unix'
+
+ AssertEqual
+ \ ale#Escape(g:node_executable) . ' --format=unix %t',
+ \ ale_linters#html#htmlhint#GetCommand(bufnr(''))
+
+Execute(The configuration file should be automatically detected):
+ call ale#test#SetFilename('htmlhint_paths/with_config/test.html')
+
+ AssertEqual
+ \ ale#Escape(g:node_executable)
+ \ . ' --config ' . ale#Escape(g:config_path)
+ \ . ' --format=unix %t',
+ \ ale_linters#html#htmlhint#GetCommand(bufnr(''))
+
+" This is so old configurations which might include the config will work.
+Execute(The configuration file should be configurable through the options variable):
+ call ale#test#SetFilename('htmlhint_paths/with_config/test.html')
+ let g:ale_html_htmlhint_options = '--config=/foo/bar/.htmlhintrc'
+
+ AssertEqual
+ \ ale#Escape(g:node_executable)
+ \ . ' --config=/foo/bar/.htmlhintrc'
+ \ . ' --format=unix %t',
+ \ ale_linters#html#htmlhint#GetCommand(bufnr(''))