Massively reduce the amount of code needed for linter tests

This commit is contained in:
w0rp
2018-07-15 18:24:53 +01:00
parent 5155a35a80
commit a42999a639
138 changed files with 1447 additions and 3017 deletions

View File

@@ -1,71 +1,48 @@
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
call ale#test#SetDirectory('/testplugin/test/command_callback')
runtime ale_linters/pug/puglint.vim
call ale#assert#SetUpLinterTest('pug', 'puglint')
After:
Restore
call ale#test#RestoreDirectory()
call ale#linter#Reset()
call ale#assert#TearDownLinterTest()
Execute(puglint should detect local executables and package.json):
call ale#test#SetFilename('puglint_project/test.pug')
AssertEqual
AssertLinter
\ ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
\ ale_linters#pug#puglint#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/package.json'))
\ . ' -r inline %t',
\ ale_linters#pug#puglint#GetCommand(bufnr(''))
\ . ' -r inline %t'
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
AssertLinter 'pug-lint',
\ ale#Escape('pug-lint')
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/package.json'))
\ . ' -r inline %t',
\ ale_linters#pug#puglint#GetCommand(bufnr(''))
\ . ' -r inline %t'
Execute(puglint should detect .pug-lintrc):
call ale#test#SetFilename('puglint_project/puglint_rc_dir/subdir/test.pug')
AssertEqual
AssertLinter ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
\ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/puglint_rc_dir/.pug-lintrc'))
\ . ' -r inline %t',
\ ale_linters#pug#puglint#GetCommand(bufnr(''))
\ . ' -r inline %t'
Execute(puglint should detect .pug-lintrc.js):
call ale#test#SetFilename('puglint_project/puglint_rc_js_dir/subdir/test.pug')
AssertEqual
AssertLinter ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
\ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/puglint_rc_js_dir/.pug-lintrc.js'))
\ . ' -r inline %t',
\ ale_linters#pug#puglint#GetCommand(bufnr(''))
\ . ' -r inline %t'
Execute(puglint should detect .pug-lintrc.json):
call ale#test#SetFilename('puglint_project/puglint_rc_json_dir/subdir/test.pug')
AssertEqual
AssertLinter ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
\ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/puglint_rc_json_dir/.pug-lintrc.json'))
\ . ' -r inline %t',
\ ale_linters#pug#puglint#GetCommand(bufnr(''))
\ . ' -r inline %t'