diff options
author | Michael Jungo <michaeljungo92@gmail.com> | 2017-11-12 02:06:28 +0100 |
---|---|---|
committer | Michael Jungo <michaeljungo92@gmail.com> | 2017-11-12 02:06:28 +0100 |
commit | cb3a25f276f853ea44140063a1f7246c37fa1252 (patch) | |
tree | 5a3981129f0fc1990a09618f1b016a09737140be /test/command_callback/test_ocaml_ols_callbacks.vader | |
parent | 27e2f53ac9892e8285d629228d5c25bdcdf84803 (diff) | |
download | ale-cb3a25f276f853ea44140063a1f7246c37fa1252.zip |
Add tests for ocaml-language-server callbacks
Diffstat (limited to 'test/command_callback/test_ocaml_ols_callbacks.vader')
-rw-r--r-- | test/command_callback/test_ocaml_ols_callbacks.vader | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/command_callback/test_ocaml_ols_callbacks.vader b/test/command_callback/test_ocaml_ols_callbacks.vader new file mode 100644 index 00000000..2c44dbc9 --- /dev/null +++ b/test/command_callback/test_ocaml_ols_callbacks.vader @@ -0,0 +1,54 @@ +Before: + Save &filetype + Save g:ale_ocaml_ols_executable + Save g:ale_ocaml_ols_use_global + + let &filetype = 'ocaml' + unlet! g:ale_ocaml_ols_executable + unlet! g:ale_ocaml_ols_use_global + + runtime ale_linters/ocaml/ols.vim + + call ale#test#SetDirectory('/testplugin/test/command_callback') + +After: + Restore + + call ale#test#RestoreDirectory() + call ale#linter#Reset() + +Execute(The language string should be correct): + AssertEqual 'ocaml', ale#handlers#ols#GetLanguage(bufnr('')) + +Execute(The default executable should be correct): + AssertEqual 'ocaml-language-server', ale#handlers#ols#GetExecutable(bufnr('')) + AssertEqual + \ ale#Escape('ocaml-language-server') . ' --stdio', + \ ale#handlers#ols#GetCommand(bufnr('')) + +Execute(The project root should be detected correctly): + AssertEqual '', ale#handlers#ols#GetProjectRoot(bufnr('')) + + call ale#test#SetFilename('ols_paths/file.ml') + + AssertEqual + \ ale#path#Winify(g:dir . '/ols_paths'), + \ ale#handlers#ols#GetProjectRoot(bufnr('')) + +Execute(The local executable should be used when available): + call ale#test#SetFilename('ols_paths/file.ml') + + AssertEqual + \ ale#path#Winify(g:dir . '/ols_paths/node_modules/.bin/ocaml-language-server'), + \ ale#handlers#ols#GetExecutable(bufnr('')) + +Execute(The gloabl executable should always be used when use_global is set): + let g:ale_ocaml_ols_use_global = 1 + call ale#test#SetFilename('ols_paths/file.ml') + + AssertEqual 'ocaml-language-server', ale#handlers#ols#GetExecutable(bufnr('')) + +Execute(The executable should be configurable): + let g:ale_ocaml_ols_executable = 'foobar' + + AssertEqual 'foobar', ale#handlers#ols#GetExecutable(bufnr('')) |