summaryrefslogtreecommitdiff
path: root/test/lsp/test_lsp_error_parsing.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-05-28 16:24:15 +0100
committerw0rp <devw0rp@gmail.com>2018-05-28 16:24:15 +0100
commitd9717147bf735a37adc20f1e8a068806f9ba56be (patch)
tree831669f35417ebde730fbf090401324dcb7d904e /test/lsp/test_lsp_error_parsing.vader
parent3c55cb087d4f48b16e05c6f60e70a12442003a12 (diff)
downloadale-d9717147bf735a37adc20f1e8a068806f9ba56be.zip
Close #1559 - Report errors from LSP servers in :ALEInfo
Diffstat (limited to 'test/lsp/test_lsp_error_parsing.vader')
-rw-r--r--test/lsp/test_lsp_error_parsing.vader65
1 files changed, 65 insertions, 0 deletions
diff --git a/test/lsp/test_lsp_error_parsing.vader b/test/lsp/test_lsp_error_parsing.vader
new file mode 100644
index 00000000..7464b0e7
--- /dev/null
+++ b/test/lsp/test_lsp_error_parsing.vader
@@ -0,0 +1,65 @@
+Execute(Invalid responses should be handled):
+ AssertEqual '', ale#lsp#response#GetErrorMessage({})
+ AssertEqual '', ale#lsp#response#GetErrorMessage({'error': 0})
+ AssertEqual '', ale#lsp#response#GetErrorMessage({'error': {}})
+ AssertEqual '', ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': 0,
+ \ 'message': 'x',
+ \ },
+ \})
+ AssertEqual '', ale#lsp#response#GetErrorMessage({'error': {'code': -32602}})
+ AssertEqual '', ale#lsp#response#GetErrorMessage({'error': {'code': -32603}})
+
+Execute(Messages without tracebacks should be handled):
+ AssertEqual 'xyz', ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': -32602,
+ \ 'message': 'xyz',
+ \ },
+ \})
+ AssertEqual 'abc', ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': -32603,
+ \ 'message': 'abc',
+ \ },
+ \})
+
+Execute(Invalid traceback data should be tolerated):
+ AssertEqual 'xyz', ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': -32602,
+ \ 'message': 'xyz',
+ \ 'data': {
+ \ },
+ \ },
+ \})
+ AssertEqual 'xyz', ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': -32602,
+ \ 'message': 'xyz',
+ \ 'data': {
+ \ 'traceback': 0,
+ \ },
+ \ },
+ \})
+ AssertEqual 'xyz', ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': -32602,
+ \ 'message': 'xyz',
+ \ 'data': {
+ \ 'traceback': [],
+ \ },
+ \ },
+ \})
+
+Execute(Messages with tracebacks should be handled):
+ AssertEqual "xyz\n123\n456", ale#lsp#response#GetErrorMessage({
+ \ 'error': {
+ \ 'code': -32602,
+ \ 'message': 'xyz',
+ \ 'data': {
+ \ 'traceback': ['123', '456'],
+ \ },
+ \ },
+ \})