summaryrefslogtreecommitdiff
path: root/test/command_callback/test_puglint_command_callback.vader
diff options
context:
space:
mode:
Diffstat (limited to 'test/command_callback/test_puglint_command_callback.vader')
-rw-r--r--test/command_callback/test_puglint_command_callback.vader72
1 files changed, 72 insertions, 0 deletions
diff --git a/test/command_callback/test_puglint_command_callback.vader b/test/command_callback/test_puglint_command_callback.vader
new file mode 100644
index 00000000..830d63b3
--- /dev/null
+++ b/test/command_callback/test_puglint_command_callback.vader
@@ -0,0 +1,72 @@
+Before:
+ Save g:ale_pug_puglint_options
+ Save g:ale_pug_puglint_executable
+ Save g:ale_pug_puglint_use_global
+
+ let g:ale_pug_puglint_options = ''
+ let g:ale_pug_puglint_executable = 'pug-lint'
+ let g:ale_pug_puglint_use_global = 0
+
+ silent! cd /testplugin/test/command_callback
+ let g:dir = getcwd()
+
+ runtime ale_linters/pug/puglint.vim
+
+After:
+ Restore
+
+ silent execute 'cd ' . fnameescape(g:dir)
+ unlet! g:dir
+
+ call ale#linter#Reset()
+
+Execute(puglint should detect local executables and package.json):
+ call ale#test#SetFilename('puglint_project/test.pug')
+
+ AssertEqual
+ \ g:dir . '/puglint_project/node_modules/.bin/pug-lint',
+ \ ale_linters#pug#puglint#GetExecutable(bufnr(''))
+ AssertEqual
+ \ ale#Escape(g:dir . '/puglint_project/node_modules/.bin/pug-lint')
+ \ . ' -c ' . ale#Escape(g:dir . '/puglint_project/package.json')
+ \ . ' -r inline %t',
+ \ ale_linters#pug#puglint#GetCommand(bufnr(''))
+
+Execute(puglint should use global executables if configured):
+ let g:ale_pug_puglint_use_global = 1
+
+ call ale#test#SetFilename('puglint_project/test.pug')
+
+ AssertEqual 'pug-lint', ale_linters#pug#puglint#GetExecutable(bufnr(''))
+ AssertEqual
+ \ ale#Escape('pug-lint')
+ \ . ' -c ' . ale#Escape(g:dir . '/puglint_project/package.json')
+ \ . ' -r inline %t',
+ \ ale_linters#pug#puglint#GetCommand(bufnr(''))
+
+Execute(puglint should detect .pug-lintrc):
+ call ale#test#SetFilename('puglint_project/puglint_rc_dir/subdir/test.pug')
+
+ AssertEqual
+ \ ale#Escape(g:dir . '/puglint_project/node_modules/.bin/pug-lint')
+ \ . ' -c ' . ale#Escape(g:dir . '/puglint_project/puglint_rc_dir/.pug-lintrc')
+ \ . ' -r inline %t',
+ \ ale_linters#pug#puglint#GetCommand(bufnr(''))
+
+Execute(puglint should detect .pug-lintrc.js):
+ call ale#test#SetFilename('puglint_project/puglint_rc_js_dir/subdir/test.pug')
+
+ AssertEqual
+ \ ale#Escape(g:dir . '/puglint_project/node_modules/.bin/pug-lint')
+ \ . ' -c ' . ale#Escape(g:dir . '/puglint_project/puglint_rc_js_dir/.pug-lintrc.js')
+ \ . ' -r inline %t',
+ \ ale_linters#pug#puglint#GetCommand(bufnr(''))
+
+Execute(puglint should detect .pug-lintrc.json):
+ call ale#test#SetFilename('puglint_project/puglint_rc_json_dir/subdir/test.pug')
+
+ AssertEqual
+ \ ale#Escape(g:dir . '/puglint_project/node_modules/.bin/pug-lint')
+ \ . ' -c ' . ale#Escape(g:dir . '/puglint_project/puglint_rc_json_dir/.pug-lintrc.json')
+ \ . ' -r inline %t',
+ \ ale_linters#pug#puglint#GetCommand(bufnr(''))