diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_linter_retrieval.vader | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/test_linter_retrieval.vader b/test/test_linter_retrieval.vader index 3f405a52..ecbae8d2 100644 --- a/test/test_linter_retrieval.vader +++ b/test/test_linter_retrieval.vader @@ -5,6 +5,8 @@ Before: call ale#linter#Reset() let g:ale_linters = {} let g:ale_linter_aliases = {} + unlet! b:ale_linters + unlet! b:ale_linter_aliases Execute (Define a linter): call ale#linter#Define('testft', g:testlinter1) @@ -18,6 +20,22 @@ Execute (Define a couple linters, filtering one): Then (Only the configured linter should be returned): AssertEqual [g:testlinter1], ale#linter#Get('testft') +Execute (Define a couple linters, and set a buffer override): + call ale#linter#Define('testft', g:testlinter1) + call ale#linter#Define('testft', g:testlinter2) + let g:ale_linters = {'testft': ['testlinter1', 'testlinter2']} + let b:ale_linters = {'testft': ['testlinter1']} +Then (The buffer setting should be used): + AssertEqual [g:testlinter1], ale#linter#Get('testft') + +Execute (Define a couple linters, and set a buffer override for another filetype): + call ale#linter#Define('testft', g:testlinter1) + call ale#linter#Define('testft', g:testlinter2) + let g:ale_linters = {'testft': ['testlinter1']} + let b:ale_linters = {'testft2': ['testlinter1', 'testlinter2']} +Then (The global value should be used): + 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'} @@ -53,5 +71,24 @@ Execute (Alias a filetype to itself plus another one): Then (The original linters should still be there): AssertEqual [g:testlinter1, g:testlinter2], ale#linter#Get('testft1') +Execute (Set up aliases in the buffer): + call ale#linter#Define('testft1', g:testlinter1) + call ale#linter#Define('testft2', g:testlinter2) + let g:ale_linter_aliases = {'testft1': ['testft2']} + let b:ale_linter_aliases = {'testft1': ['testft1', 'testft2']} +Then (The buffer-local override should be used): + AssertEqual [g:testlinter1, g:testlinter2], ale#linter#Get('testft1') + +Execute (Set up aliases in the buffer for another filetype): + call ale#linter#Define('testft1', g:testlinter1) + call ale#linter#Define('testft2', g:testlinter2) + let g:ale_linter_aliases = {'testft1': ['testft1', 'testft2']} + " This is a key set for a differnt filetype. + " We should look for a key in this Dictionary first, and then check the + " global Dictionary. + let b:ale_linter_aliases = {'testft3': ['testft1']} +Then (The global value should be used): + AssertEqual [g:testlinter1, g:testlinter2], ale#linter#Get('testft1') + Execute (Try to load a linter from disk): AssertEqual [{'name': 'testlinter', 'output_stream': 'stdout', 'executable': 'testlinter', 'command': 'testlinter', 'callback': 'testCB', 'read_buffer': 1, 'lint_file': 0}], ale#linter#Get('testft') |