diff options
Diffstat (limited to 'test/test_linter_retrieval.vader')
-rw-r--r-- | test/test_linter_retrieval.vader | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/test_linter_retrieval.vader b/test/test_linter_retrieval.vader new file mode 100644 index 00000000..5dadf6bc --- /dev/null +++ b/test/test_linter_retrieval.vader @@ -0,0 +1,43 @@ +Before: + let g:testlinter1 = {'name': 'testlinter1', 'executable': 'testlinter1', 'command': 'testlinter1', 'callback': 'testCB1', 'output_stream': 'stdout'} + let g:testlinter2 = {'name': 'testlinter2', 'executable': 'testlinter2', 'command': 'testlinter2', 'callback': 'testCB2', 'output_stream': 'stdout'} + + call ale#linter#Reset() + let g:ale_linters = {} + let g:ale_linter_aliases = {} + +Execute (Define a linter): + call ale#linter#Define('testft', g:testlinter1) +Then (Get the defined linter): + AssertEqual [g:testlinter1], ale#linter#Get('testft') + +Execute (Define a couple linters, filtering one): + call ale#linter#Define('testft', g:testlinter1) + call ale#linter#Define('testft', g:testlinter2) + let g:ale_linters = {'testft': ['testlinter1']} +Then (Only the configured linter should be returned): + AssertEqual [g:testlinter1], ale#linter#Get('testft') + +Execute (Define a linter for a filetype, and create a filetype alias): + call ale#linter#Define('testft1', g:testlinter1) + let g:ale_linter_aliases = {'testft2': 'testft1'} +Then (Linters should be transparently aliased): + AssertEqual [g:testlinter1], ale#linter#Get('testft2') + +Execute (Define multiple linters, with filters and aliases): + call ale#linter#Define('testft1', g:testlinter1) + call ale#linter#Define('testft1', g:testlinter2) + let g:ale_linters = {'testft1': ['testlinter1'], 'testft2': ['testlinter2']} + let g:ale_linter_aliases = {'testft2': 'testft1'} +Then (Linters should be transparently filtered and aliased): + AssertEqual [g:testlinter1], ale#linter#Get('testft1') + AssertEqual [g:testlinter2], ale#linter#Get('testft2') + +Execute (Define multiple linters for different filetypes): + call ale#linter#Define('testft1', g:testlinter1) + call ale#linter#Define('testft2', g:testlinter2) +Then (Linters for dot-seperated filetypes should be properly handled): + AssertEqual [g:testlinter1, g:testlinter2], ale#linter#Get('testft1.testft2') + +Execute (Try to load a linter from disk): + AssertEqual [{'name': 'testlinter', 'output_stream': 'stdout', 'executable': 'testlinter', 'command': 'testlinter', 'callback': 'testCB'}], ale#linter#Get('testft') |