summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2018-10-31 16:24:11 +0000
committerGitHub <noreply@github.com>2018-10-31 16:24:11 +0000
commit5f206d900e3ae09cafc36f8038000fb13dbe3bab (patch)
tree97a2f2a8a3a20f7d9c0ea6aaa7c295fdcf1cd9f3 /test
parent6212c22b5a6312db7e06f802197a7cb021b7e588 (diff)
parent2ac9e2a29e3c570e8aac5d8f5404921e8d816006 (diff)
downloadale-5f206d900e3ae09cafc36f8038000fb13dbe3bab.zip
Merge pull request #2035 from jparise/lsp_config_callback
Add a `lsp_config_callback` linter option
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/test_elixir_ls_command_callbacks.vader1
-rw-r--r--test/command_callback/test_golangserver_command_callback.vader3
-rw-r--r--test/command_callback/test_scala_sbtserver.vader2
-rw-r--r--test/lsp/test_other_initialize_message_handling.vader1
-rw-r--r--test/lsp/test_update_config.vader17
-rw-r--r--test/test_linter_defintion_processing.vader27
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
-