From a42999a639b2916b769a85f37d037be314d9d61b Mon Sep 17 00:00:00 2001 From: w0rp Date: Sun, 15 Jul 2018 18:24:53 +0100 Subject: Massively reduce the amount of code needed for linter tests --- .../test_htmlhint_command_callback.vader | 46 ++++++---------------- 1 file changed, 13 insertions(+), 33 deletions(-) (limited to 'test/command_callback/test_htmlhint_command_callback.vader') diff --git a/test/command_callback/test_htmlhint_command_callback.vader b/test/command_callback/test_htmlhint_command_callback.vader index 5bb21a6b..d3f209f8 100644 --- a/test/command_callback/test_htmlhint_command_callback.vader +++ b/test/command_callback/test_htmlhint_command_callback.vader @@ -1,71 +1,51 @@ 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#assert#SetUpLinterTest('html', 'htmlhint') call ale#test#SetFilename('htmlhint_paths/test.html') let g:node_executable = ale#path#Simplify( - \ g:dir - \ . '/htmlhint_paths/node_modules/.bin/htmlhint' + \ g:dir . '/htmlhint_paths/node_modules/.bin/htmlhint' \) let g:config_path = ale#path#Simplify( - \ g:dir - \ . '/htmlhint_paths/with_config/.htmlhintrc' + \ 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() + call ale#assert#TearDownLinterTest() Execute(The default command should be correct): - AssertEqual - \ ale#Escape(g:node_executable) . ' --format=unix %t', - \ ale_linters#html#htmlhint#GetCommand(bufnr('')) + AssertLinter g:node_executable, + \ ale#Escape(g:node_executable) . ' --format=unix %t' 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('')) + AssertLinter 'foo', ale#Escape('foo') . ' --format=unix %t', " 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('')) + AssertLinter g:node_executable, + \ ale#Escape(g:node_executable) . ' --format=unix %t' Execute(The configuration file should be automatically detected): call ale#test#SetFilename('htmlhint_paths/with_config/test.html') - AssertEqual + AssertLinter g:node_executable, \ ale#Escape(g:node_executable) \ . ' --config ' . ale#Escape(g:config_path) - \ . ' --format=unix %t', - \ ale_linters#html#htmlhint#GetCommand(bufnr('')) + \ . ' --format=unix %t' " 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 + AssertLinter g:node_executable, \ ale#Escape(g:node_executable) \ . ' --config=/foo/bar/.htmlhintrc' - \ . ' --format=unix %t', - \ ale_linters#html#htmlhint#GetCommand(bufnr('')) + \ . ' --format=unix %t' -- cgit v1.2.3