diff options
author | w0rp <devw0rp@gmail.com> | 2017-04-25 23:52:13 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-04-25 23:52:13 +0100 |
commit | 5d5ba2a7802b67515dd27df80d76b3f265c07624 (patch) | |
tree | ab8224cdc09120b4e4456e9175bc3c8a038fba1d /test/test_linter_retrieval.vader | |
parent | 45c2d6b580e8e4bfe73412667268c48a3034caf5 (diff) | |
download | ale-5d5ba2a7802b67515dd27df80d76b3f265c07624.zip |
#427 Allow linters and aliases to be configured in buffer local variables
Diffstat (limited to 'test/test_linter_retrieval.vader')
-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') |