X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/0ee596c5c5e11fc79598407eaf22f83d279f7e9e..5a4872f466ebd76ddd532bdf2798554421c53df4:/.vim/bundle/ale/test/linter/test_haskell_hls.vader diff --git a/.vim/bundle/ale/test/linter/test_haskell_hls.vader b/.vim/bundle/ale/test/linter/test_haskell_hls.vader new file mode 100644 index 00000000..59a50078 --- /dev/null +++ b/.vim/bundle/ale/test/linter/test_haskell_hls.vader @@ -0,0 +1,42 @@ +Before: + call ale#assert#SetUpLinterTest('haskell', 'hls') + + Save &filetype + let &filetype = 'haskell' + +After: + call ale#assert#TearDownLinterTest() + +Execute(The language string should be correct): + AssertLSPLanguage 'haskell' + +Execute(The default executable should be correct): + AssertLinter 'haskell-language-server-wrapper', + \ ale#Escape('haskell-language-server-wrapper') . ' --lsp' + +Execute(The project root should be detected correctly): + AssertLSPProject g:dir + + call ale#test#SetFilename('hls_paths/file.hs') + + AssertLSPProject ale#path#Simplify(g:dir . '/hls_paths') + +Execute(The executable should be configurable): + let g:ale_haskell_hls_executable = 'foobar' + + AssertLinter 'foobar', ale#Escape('foobar') . ' --lsp' + +Execute(Should accept configuration settings): + AssertLSPConfig {} + let b:ale_haskell_hls_config = {'haskell': {'maxCompletions': 250}} + AssertLSPConfig {'haskell': {'maxCompletions': 250}} + +Execute(We should detect the root with cabal.project files, preferred over *.cabal files): + call ale#test#SetFilename('../test-files/haskell/haskell-packages-project/package-a/src/folder/dummy.hs') + + AssertLSPProject ale#test#GetFilename('../test-files/haskell/haskell-packages-project') + +Execute(We should a project root with *.cabal files): + call ale#test#SetFilename('../test-files/haskell/haskell-simple-package/package-a/src/folder/dummy.hs') + + AssertLSPProject ale#test#GetFilename('../test-files/haskell/haskell-simple-package/package-a')