diff options
Diffstat (limited to 'test')
6 files changed, 48 insertions, 3 deletions
diff --git a/test/command_callback/test_elixir_ls_command_callbacks.vader b/test/command_callback/test_elixir_ls_command_callbacks.vader index 0d00354b..f79be9b4 100644 --- a/test/command_callback/test_elixir_ls_command_callbacks.vader +++ b/test/command_callback/test_elixir_ls_command_callbacks.vader @@ -26,4 +26,5 @@ Execute(should set correct LSP values): AssertLSPLanguage 'elixir' AssertLSPOptions {} + AssertLSPConfig {} AssertLSPProject ale#path#Simplify(g:dir . '/mix_paths/wrapped_project') diff --git a/test/command_callback/test_golangserver_command_callback.vader b/test/command_callback/test_golangserver_command_callback.vader index ee88e1a4..90fdc26f 100644 --- a/test/command_callback/test_golangserver_command_callback.vader +++ b/test/command_callback/test_golangserver_command_callback.vader @@ -56,7 +56,7 @@ Execute(should set go-langserver for go app1): call ale#test#SetFilename('go_paths/go1/prj1/file.go') AssertLSPLanguage 'go' - AssertLSPOptions {} + AssertLSPConfig {} AssertLSPProject ale#path#Simplify(g:dir . '/go_paths/go1') Execute(should set go-langserver for go app2): @@ -64,4 +64,5 @@ Execute(should set go-langserver for go app2): AssertLSPLanguage 'go' AssertLSPOptions {} + AssertLSPConfig {} AssertLSPProject ale#path#Simplify(g:dir . '/go_paths/go2') diff --git a/test/command_callback/test_scala_sbtserver.vader b/test/command_callback/test_scala_sbtserver.vader index 1b708bd9..1c7d8472 100644 --- a/test/command_callback/test_scala_sbtserver.vader +++ b/test/command_callback/test_scala_sbtserver.vader @@ -9,11 +9,13 @@ Execute(should set sbtserver for sbt project with build.sbt): call ale#test#SetFilename('../scala_fixtures/valid_sbt_project/Main.scala') AssertLSPLanguage 'scala' AssertLSPOptions {} + AssertLSPConfig {} AssertLSPProject ale#path#Simplify(g:dir . 'command_callback/../scala_fixtures/valid_sbt_project') AssertLSPAddress '127.0.0.1:4273' Execute(should not set sbtserver for sbt project without build.sbt): call ale#test#SetFilename('../scala_fixtures/invalid_sbt_project/Main.scala') AssertLSPLanguage 'scala' AssertLSPOptions {} + AssertLSPConfig {} AssertLSPProject '' AssertLSPAddress '127.0.0.1:4273' diff --git a/test/lsp/test_other_initialize_message_handling.vader b/test/lsp/test_other_initialize_message_handling.vader index 072f8c4b..2f59535d 100644 --- a/test/lsp/test_other_initialize_message_handling.vader +++ b/test/lsp/test_other_initialize_message_handling.vader @@ -7,6 +7,7 @@ Before: \ 'initialized': 0, \ 'init_request_id': 0, \ 'init_options': {}, + \ 'config': {}, \ 'callback_list': [], \ 'message_queue': [], \ 'capabilities_queue': [], diff --git a/test/lsp/test_update_config.vader b/test/lsp/test_update_config.vader new file mode 100644 index 00000000..07068bc8 --- /dev/null +++ b/test/lsp/test_update_config.vader @@ -0,0 +1,17 @@ +Before: + runtime autoload/ale/lsp.vim + + let g:conn_id = ale#lsp#Register('executable', '/foo/bar', {}) + +After: + Restore + + unlet! g:conn_id + + runtime autoload/ale/lsp.vim + +Execute(Only send updates when the configuration dictionary changes): + AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {}) + AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1}) + AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1}) + AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {}) diff --git a/test/test_linter_defintion_processing.vader b/test/test_linter_defintion_processing.vader index a28edf9e..d967761d 100644 --- a/test/test_linter_defintion_processing.vader +++ b/test/test_linter_defintion_processing.vader @@ -501,6 +501,31 @@ Execute(PreProcess should throw when initialization_options_callback is not a ca \}) AssertEqual '`initialization_options_callback` must be a callback if defined', g:vader_exception +Execute(PreProcess should complain about using lsp_config and lsp_config_callback together): + let g:linter = { + \ 'name': 'x', + \ 'lsp': 'socket', + \ 'address_callback': 'X', + \ 'language': 'x', + \ 'project_root_callback': 'x', + \ 'lsp_config': 'x', + \ 'lsp_config_callback': 'x', + \} + + AssertThrows call ale#linter#PreProcess('testft', g:linter) + AssertEqual 'Only one of `lsp_config` or `lsp_config_callback` should be set', g:vader_exception + +Execute(PreProcess should throw when lsp_config_callback is not a callback): + AssertThrows call ale#linter#PreProcess('testft', { + \ 'name': 'foo', + \ 'lsp': 'socket', + \ 'address_callback': 'X', + \ 'language': 'x', + \ 'project_root_callback': 'x', + \ 'lsp_config_callback': {}, + \}) + AssertEqual '`lsp_config_callback` must be a callback if defined', g:vader_exception + Execute(PreProcess should accept LSP configuration options via lsp_config): let g:ale_lsp_configuration = { \ 'foo': 'bar' @@ -517,7 +542,6 @@ Execute(PreProcess should accept LSP configuration options via lsp_config): AssertEqual {'foo': 'bar'}, ale#linter#PreProcess('testft', g:linter).lsp_config - Execute(PreProcess should throw when lsp_config is not a Dictionary): AssertThrows call ale#linter#PreProcess('testft', { \ 'name': 'foo', @@ -528,4 +552,3 @@ Execute(PreProcess should throw when lsp_config is not a Dictionary): \ 'lsp_config': 'x', \}) AssertEqual '`lsp_config` must be a Dictionary', g:vader_exception - |