From 36c35d840ba90c5069eb514d54a1281d42c3fb26 Mon Sep 17 00:00:00 2001 From: w0rp Date: Fri, 24 May 2019 01:13:52 +0100 Subject: Fix LSP tests --- test/lsp/test_did_save_event.vader | 1 + test/lsp/test_engine_lsp_response_handling.vader | 392 +++++++++++++++++++++++ test/test_engine_lsp_response_handling.vader | 369 --------------------- test/test_history_saving.vader | 3 +- test/test_ignoring_linters.vader | 12 +- 5 files changed, 403 insertions(+), 374 deletions(-) create mode 100644 test/lsp/test_engine_lsp_response_handling.vader delete mode 100644 test/test_engine_lsp_response_handling.vader diff --git a/test/lsp/test_did_save_event.vader b/test/lsp/test_did_save_event.vader index 1a60bc9f..bdea6d98 100644 --- a/test/lsp/test_did_save_event.vader +++ b/test/lsp/test_did_save_event.vader @@ -9,6 +9,7 @@ Before: call ale#test#SetFilename('dummy.txt') runtime autoload/ale/lsp.vim + runtime autoload/ale/lsp_linter.vim let g:ale_disable_lsp = 0 unlet! b:ale_disable_lsp diff --git a/test/lsp/test_engine_lsp_response_handling.vader b/test/lsp/test_engine_lsp_response_handling.vader new file mode 100644 index 00000000..9abfa087 --- /dev/null +++ b/test/lsp/test_engine_lsp_response_handling.vader @@ -0,0 +1,392 @@ +Before: + Save g:ale_set_lists_synchronously + Save g:ale_buffer_info + Save g:ale_lsp_error_messages + Save g:ale_set_loclist + Save g:ale_set_signs + Save g:ale_set_quickfix + Save g:ale_set_highlights + Save g:ale_echo_cursor + Save g:ale_disable_lsp + Save g:ale_history_enabled + Save g:ale_history_log_output + + let g:ale_disable_lsp = 0 + let g:ale_set_lists_synchronously = 1 + let g:ale_buffer_info = {} + let g:ale_set_loclist = 1 + " Disable features we don't need for these tests. + let g:ale_set_signs = 0 + let g:ale_set_quickfix = 0 + let g:ale_set_highlights = 0 + let g:ale_echo_cursor = 0 + let g:ale_history_enabled = 1 + let g:ale_history_log_output = 1 + + unlet! g:ale_lsp_error_messages + unlet! b:ale_linters + unlet! b:ale_disable_lsp + + call ale#linter#Reset() + call ale#test#SetDirectory('/testplugin/test') + call setloclist(0, []) + +After: + Restore + + unlet! b:ale_linters + + call setloclist(0, []) + call ale#test#RestoreDirectory() + call ale#linter#Reset() + call ale#lsp_linter#ClearLSPData() + +Given foobar(An empty file): +Execute(tsserver syntax error responses should be handled correctly): + runtime ale_linters/typescript/tsserver.vim + call ale#test#SetFilename('filename.ts') + call ale#engine#InitBufferInfo(bufnr('')) + + " When we get syntax errors and no semantic errors, we should keep the + " syntax errors. + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'syntaxDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[ + \ { + \ 'start': { + \ 'line':2, + \ 'offset':14, + \ }, + \ 'end': { + \ 'line':2, + \ 'offset':15, + \ }, + \ 'text': ''','' expected.', + \ "code":1005 + \ }, + \ ], + \ }, + \}) + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'semanticDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[ + \ ], + \ }, + \}) + + AssertEqual + \ [ + \ { + \ 'lnum': 1, + \ 'bufnr': bufnr(''), + \ 'col': 14, + \ 'vcol': 0, + \ 'nr': 1005, + \ 'type': 'E', + \ 'text': '1005: '','' expected.', + \ 'valid': 1, + \ 'pattern': '', + \ }, + \ ], + \ ale#test#GetLoclistWithoutModule() + + " After we get empty syntax errors, we should clear them. + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'syntaxDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[ + \ ], + \ }, + \}) + + AssertEqual + \ [ + \ ], + \ ale#test#GetLoclistWithoutModule() + + " Syntax errors on the project root should not populate the LocList. + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'syntaxDiag', + \ 'body': { + \ 'file': g:dir, + \ 'diagnostics':[ + \ { + \ 'start': { + \ 'line':2, + \ 'offset':14, + \ }, + \ 'end': { + \ 'line':2, + \ 'offset':15, + \ }, + \ 'text': ''','' expected.', + \ "code":1005 + \ }, + \ ], + \ }, + \}) + + AssertEqual + \ [ + \ ], + \ ale#test#GetLoclistWithoutModule() + +Execute(tsserver semantic error responses should be handled correctly): + runtime ale_linters/typescript/tsserver.vim + call ale#test#SetFilename('filename.ts') + call ale#engine#InitBufferInfo(bufnr('')) + + " When we get syntax errors and no semantic errors, we should keep the + " syntax errors. + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'syntaxDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[ + \ ], + \ }, + \}) + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'semanticDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[ + \ { + \ 'start': { + \ 'line':2, + \ 'offset':14, + \ }, + \ 'end': { + \ 'line':2, + \ 'offset':15, + \ }, + \ 'text': 'Some semantic error', + \ "code":1005 + \ }, + \ ], + \ }, + \}) + + AssertEqual + \ [ + \ { + \ 'lnum': 1, + \ 'bufnr': bufnr(''), + \ 'col': 14, + \ 'vcol': 0, + \ 'nr': 1005, + \ 'type': 'E', + \ 'text': '1005: Some semantic error', + \ 'valid': 1, + \ 'pattern': '', + \ }, + \ ], + \ ale#test#GetLoclistWithoutModule() + + " After we get empty syntax errors, we should clear them. + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'semanticDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[ + \ ], + \ }, + \}) + + AssertEqual + \ [ + \ ], + \ ale#test#GetLoclistWithoutModule() + + " Semantic errors on the project root should not populate the LocList. + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'semanticDiag', + \ 'body': { + \ 'file': g:dir, + \ 'diagnostics':[ + \ { + \ 'start': { + \ 'line':2, + \ 'offset':14, + \ }, + \ 'end': { + \ 'line':2, + \ 'offset':15, + \ }, + \ 'text': 'Some semantic error', + \ "code":1005 + \ }, + \ ], + \ }, + \}) + + AssertEqual + \ [ + \ ], + \ ale#test#GetLoclistWithoutModule() + +Execute(tsserver errors should mark tsserver no longer active): + let b:ale_linters = ['tsserver'] + runtime ale_linters/typescript/tsserver.vim + call ale#test#SetFilename('filename.ts') + call ale#engine#InitBufferInfo(bufnr('')) + + let g:ale_buffer_info[bufnr('')].active_linter_list = ale#linter#Get('typescript') + Assert !empty(g:ale_buffer_info[bufnr('')].active_linter_list) + + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'seq': 0, + \ 'type': 'event', + \ 'event': 'semanticDiag', + \ 'body': { + \ 'file': g:dir . '/filename.ts', + \ 'diagnostics':[], + \ }, + \}) + + AssertEqual [], g:ale_buffer_info[bufnr('')].active_linter_list + +Execute(LSP diagnostics responses should be handled correctly): + let b:ale_linters = ['eclipselsp'] + runtime ale_linters/java/eclipselsp.vim + call ale#test#SetFilename('filename.java') + call ale#engine#InitBufferInfo(bufnr('')) + call ale#lsp_linter#SetLSPLinterMap({'1': 'eclipselsp'}) + + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'jsonrpc':'2.0', + \ 'method':'textDocument/publishDiagnostics', + \ 'params': { + \ 'uri':'file://' . g:dir . '/filename.java', + \ 'diagnostics': [ + \ { + \ 'range': { + \ 'start': { + \ 'line': 0, + \ 'character':0 + \ }, + \ 'end': { + \ 'line': 0, + \ 'character':0 + \ } + \ }, + \ 'severity': 2, + \ 'code': "", + \ 'source': 'Java', + \ 'message': 'Missing JRE 1-8' + \ } + \ ] + \ } + \}) + + AssertEqual + \ [ + \ { + \ 'lnum': 1, + \ 'bufnr': bufnr(''), + \ 'col': 1, + \ 'pattern': '', + \ 'valid': 1, + \ 'vcol': 0, + \ 'nr': -1, + \ 'type': 'W', + \ 'text': 'Missing JRE 1-8' + \ } + \ ], + \ ale#test#GetLoclistWithoutModule() + +Execute(LSP diagnostics responses on project root should not populate loclist): + let b:ale_linters = ['eclipselsp'] + runtime ale_linters/java/eclipselsp.vim + call ale#test#SetFilename('filename.java') + call ale#engine#InitBufferInfo(bufnr('')) + call ale#lsp_linter#SetLSPLinterMap({'1': 'eclipselsp'}) + + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'jsonrpc':'2.0', + \ 'method':'textDocument/publishDiagnostics', + \ 'params': { + \ 'uri':'file://' . g:dir, + \ 'diagnostics': [ + \ { + \ 'range': { + \ 'start': { + \ 'line': 0, + \ 'character':0 + \ }, + \ 'end': { + \ 'line': 0, + \ 'character':0 + \ } + \ }, + \ 'severity': 2, + \ 'code': "", + \ 'source': 'Java', + \ 'message': 'Missing JRE 1-8' + \ } + \ ] + \ } + \}) + + AssertEqual + \ [ + \ ], + \ ale#test#GetLoclistWithoutModule() + +Execute(LSP errors should mark linters no longer active): + let b:ale_linters = ['pyls'] + runtime ale_linters/python/pyls.vim + call ale#test#SetFilename('filename.py') + call ale#engine#InitBufferInfo(bufnr('')) + call ale#lsp_linter#SetLSPLinterMap({1: 'pyls'}) + + let g:ale_buffer_info[bufnr('')].active_linter_list = ale#linter#Get('python') + Assert !empty(g:ale_buffer_info[bufnr('')].active_linter_list) + + call ale#lsp_linter#HandleLSPResponse(1, { + \ 'method': 'textDocument/publishDiagnostics', + \ 'params': { + \ 'uri': ale#path#ToURI(g:dir . '/filename.py'), + \ 'diagnostics': [], + \ }, + \}) + + AssertEqual [], g:ale_buffer_info[bufnr('')].active_linter_list + +Execute(LSP errors should be logged in the history): + call ale#lsp_linter#SetLSPLinterMap({'347': 'foobar'}) + call ale#lsp_linter#HandleLSPResponse(347, { + \ 'jsonrpc': '2.0', + \ 'error': { + \ 'code': -32602, + \ 'message': 'xyz', + \ 'data': { + \ 'traceback': ['123', '456'], + \ }, + \ }, + \}) + + AssertEqual + \ {'foobar': ["xyz\n123\n456"]}, + \ get(g:, 'ale_lsp_error_messages', {}) diff --git a/test/test_engine_lsp_response_handling.vader b/test/test_engine_lsp_response_handling.vader deleted file mode 100644 index 34b0de3b..00000000 --- a/test/test_engine_lsp_response_handling.vader +++ /dev/null @@ -1,369 +0,0 @@ -Before: - Save g:ale_buffer_info - Save g:ale_lsp_error_messages - - let g:ale_buffer_info = {} - - unlet! g:ale_lsp_error_messages - unlet! b:ale_linters - - call ale#test#SetDirectory('/testplugin/test') - -After: - Restore - - unlet! b:ale_linters - - call ale#test#RestoreDirectory() - call ale#linter#Reset() - call ale#lsp_linter#ClearLSPData() - -Given foobar(An empty file): -Execute(tsserver syntax error responses should be handled correctly): - runtime ale_linters/typescript/tsserver.vim - call ale#test#SetFilename('filename.ts') - call ale#engine#InitBufferInfo(bufnr('')) - - " When we get syntax errors and no semantic errors, we should keep the - " syntax errors. - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'syntaxDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[ - \ { - \ 'start': { - \ 'line':2, - \ 'offset':14, - \ }, - \ 'end': { - \ 'line':2, - \ 'offset':15, - \ }, - \ 'text': ''','' expected.', - \ "code":1005 - \ }, - \ ], - \ }, - \}) - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'semanticDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[ - \ ], - \ }, - \}) - - AssertEqual - \ [ - \ { - \ 'lnum': 1, - \ 'bufnr': bufnr(''), - \ 'col': 14, - \ 'vcol': 0, - \ 'nr': 1005, - \ 'type': 'E', - \ 'text': '1005: '','' expected.', - \ 'valid': 1, - \ 'pattern': '', - \ }, - \ ], - \ ale#test#GetLoclistWithoutModule() - - " After we get empty syntax errors, we should clear them. - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'syntaxDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[ - \ ], - \ }, - \}) - - AssertEqual - \ [ - \ ], - \ ale#test#GetLoclistWithoutModule() - - " Syntax errors on the project root should not populate the LocList. - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'syntaxDiag', - \ 'body': { - \ 'file': g:dir, - \ 'diagnostics':[ - \ { - \ 'start': { - \ 'line':2, - \ 'offset':14, - \ }, - \ 'end': { - \ 'line':2, - \ 'offset':15, - \ }, - \ 'text': ''','' expected.', - \ "code":1005 - \ }, - \ ], - \ }, - \}) - - AssertEqual - \ [ - \ ], - \ ale#test#GetLoclistWithoutModule() - -Execute(tsserver semantic error responses should be handled correctly): - runtime ale_linters/typescript/tsserver.vim - call ale#test#SetFilename('filename.ts') - call ale#engine#InitBufferInfo(bufnr('')) - - " When we get syntax errors and no semantic errors, we should keep the - " syntax errors. - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'syntaxDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[ - \ ], - \ }, - \}) - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'semanticDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[ - \ { - \ 'start': { - \ 'line':2, - \ 'offset':14, - \ }, - \ 'end': { - \ 'line':2, - \ 'offset':15, - \ }, - \ 'text': 'Some semantic error', - \ "code":1005 - \ }, - \ ], - \ }, - \}) - - AssertEqual - \ [ - \ { - \ 'lnum': 1, - \ 'bufnr': bufnr(''), - \ 'col': 14, - \ 'vcol': 0, - \ 'nr': 1005, - \ 'type': 'E', - \ 'text': '1005: Some semantic error', - \ 'valid': 1, - \ 'pattern': '', - \ }, - \ ], - \ ale#test#GetLoclistWithoutModule() - - " After we get empty syntax errors, we should clear them. - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'semanticDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[ - \ ], - \ }, - \}) - - AssertEqual - \ [ - \ ], - \ ale#test#GetLoclistWithoutModule() - - " Semantic errors on the project root should not populate the LocList. - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'semanticDiag', - \ 'body': { - \ 'file': g:dir, - \ 'diagnostics':[ - \ { - \ 'start': { - \ 'line':2, - \ 'offset':14, - \ }, - \ 'end': { - \ 'line':2, - \ 'offset':15, - \ }, - \ 'text': 'Some semantic error', - \ "code":1005 - \ }, - \ ], - \ }, - \}) - - AssertEqual - \ [ - \ ], - \ ale#test#GetLoclistWithoutModule() - -Execute(tsserver errors should mark tsserver no longer active): - let b:ale_linters = ['tsserver'] - runtime ale_linters/typescript/tsserver.vim - call ale#test#SetFilename('filename.ts') - call ale#engine#InitBufferInfo(bufnr('')) - - let g:ale_buffer_info[bufnr('')].active_linter_list = ale#linter#Get('typescript') - Assert !empty(g:ale_buffer_info[bufnr('')].active_linter_list) - - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'seq': 0, - \ 'type': 'event', - \ 'event': 'semanticDiag', - \ 'body': { - \ 'file': g:dir . '/filename.ts', - \ 'diagnostics':[], - \ }, - \}) - - AssertEqual [], g:ale_buffer_info[bufnr('')].active_linter_list - -Execute(LSP diagnostics responses should be handled correctly): - let b:ale_linters = ['eclipselsp'] - runtime ale_linters/java/eclipselsp.vim - call ale#test#SetFilename('filename.java') - call ale#engine#InitBufferInfo(bufnr('')) - call ale#lsp_linter#SetLSPLinterMap({'1': 'eclipselsp'}) - - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'jsonrpc':'2.0', - \ 'method':'textDocument/publishDiagnostics', - \ 'params': { - \ 'uri':'file://' . g:dir . '/filename.java', - \ 'diagnostics': [ - \ { - \ 'range': { - \ 'start': { - \ 'line': 0, - \ 'character':0 - \ }, - \ 'end': { - \ 'line': 0, - \ 'character':0 - \ } - \ }, - \ 'severity': 2, - \ 'code': "", - \ 'source': 'Java', - \ 'message': 'Missing JRE 1-8' - \ } - \ ] - \ } - \}) - - AssertEqual - \ [ - \ { - \ 'lnum': 1, - \ 'bufnr': 3, - \ 'col': 1, - \ 'pattern': '', - \ 'valid': 1, - \ 'vcol': 0, - \ 'nr': -1, - \ 'type': 'W', - \ 'text': 'Missing JRE 1-8' - \ } - \ ], - \ ale#test#GetLoclistWithoutModule() - -Execute(LSP diagnostics responses on project root should not populate loclist): - let b:ale_linters = ['eclipselsp'] - runtime ale_linters/java/eclipselsp.vim - call ale#test#SetFilename('filename.java') - call ale#engine#InitBufferInfo(bufnr('')) - call ale#lsp_linter#SetLSPLinterMap({'1': 'eclipselsp'}) - - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'jsonrpc':'2.0', - \ 'method':'textDocument/publishDiagnostics', - \ 'params': { - \ 'uri':'file://' . g:dir, - \ 'diagnostics': [ - \ { - \ 'range': { - \ 'start': { - \ 'line': 0, - \ 'character':0 - \ }, - \ 'end': { - \ 'line': 0, - \ 'character':0 - \ } - \ }, - \ 'severity': 2, - \ 'code': "", - \ 'source': 'Java', - \ 'message': 'Missing JRE 1-8' - \ } - \ ] - \ } - \}) - - AssertEqual - \ [ - \ ], - \ ale#test#GetLoclistWithoutModule() - -Execute(LSP errors should mark linters no longer active): - let b:ale_linters = ['pyls'] - runtime ale_linters/python/pyls.vim - call ale#test#SetFilename('filename.py') - call ale#engine#InitBufferInfo(bufnr('')) - call ale#lsp_linter#SetLSPLinterMap({1: 'pyls'}) - - let g:ale_buffer_info[bufnr('')].active_linter_list = ale#linter#Get('python') - Assert !empty(g:ale_buffer_info[bufnr('')].active_linter_list) - - call ale#lsp_linter#HandleLSPResponse(1, { - \ 'method': 'textDocument/publishDiagnostics', - \ 'params': { - \ 'uri': ale#path#ToURI(g:dir . '/filename.py'), - \ 'diagnostics': [], - \ }, - \}) - - AssertEqual [], g:ale_buffer_info[bufnr('')].active_linter_list - -Execute(LSP errors should be logged in the history): - call ale#lsp_linter#SetLSPLinterMap({'347': 'foobar'}) - call ale#lsp_linter#HandleLSPResponse(347, { - \ 'jsonrpc': '2.0', - \ 'error': { - \ 'code': -32602, - \ 'message': 'xyz', - \ 'data': { - \ 'traceback': ['123', '456'], - \ }, - \ }, - \}) - - AssertEqual - \ {'foobar': ["xyz\n123\n456"]}, - \ get(g:, 'ale_lsp_error_messages', {}) diff --git a/test/test_history_saving.vader b/test/test_history_saving.vader index 18b64db5..5d81c2a3 100644 --- a/test/test_history_saving.vader +++ b/test/test_history_saving.vader @@ -1,5 +1,6 @@ Before: Save g:ale_max_buffer_history_size + Save g:ale_history_enabled Save g:ale_history_log_output Save g:ale_run_synchronously Save g:ale_enabled @@ -54,8 +55,6 @@ After: " Reset the shell back to what it was before. let &shell = g:current_shell unlet g:current_shell - let g:ale_history_enabled = 1 - let g:ale_history_log_output = 0 unlet g:history call ale#engine#Cleanup(bufnr('')) diff --git a/test/test_ignoring_linters.vader b/test/test_ignoring_linters.vader index f2e9e5c9..d758af5c 100644 --- a/test/test_ignoring_linters.vader +++ b/test/test_ignoring_linters.vader @@ -1,3 +1,11 @@ +Before: + Save g:ale_disable_lsp + +After: + Restore + + unlet! b:ale_disable_lsp + Execute(GetList should ignore some invalid values): AssertEqual [], ale#engine#ignore#GetList('', 'foo') AssertEqual [], ale#engine#ignore#GetList('', 0) @@ -98,7 +106,6 @@ Execute(Exclude should handle Dictionaries): \ ) Execute(Exclude should filter LSP linters when g:ale_disable_lsp is set to 1): - let g:ale_disable_lsp = 1 AssertEqual \ [ \ {'name': 'linter1', 'aliases': [], 'lsp': ''}, @@ -116,7 +123,6 @@ Execute(Exclude should filter LSP linters when g:ale_disable_lsp is set to 1): \ ) Execute(Exclude should filter LSP linters when b:ale_disable_lsp is set to 1): - let b:ale_disable_lsp = 1 AssertEqual \ [ \ {'name': 'linter1', 'aliases': [], 'lsp': ''}, @@ -351,7 +357,7 @@ Execute(ale_disable_lsp should be applied for tsserver): AssertEqual [], g:loclist -Execute(ale_disable_lsp should be applied for LSP linters): +Execute(ale_disable_lsp should be applied for LSP linters): call ale#test#SetFilename('filename.py') call ale#engine#InitBufferInfo(bufnr('')) call ale#lsp_linter#SetLSPLinterMap({'347': 'lsplinter'}) -- cgit v1.2.3