diff options
Diffstat (limited to 'test/completion')
-rw-r--r-- | test/completion/test_public_completion_api.vader | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/completion/test_public_completion_api.vader b/test/completion/test_public_completion_api.vader new file mode 100644 index 00000000..d4db2d6f --- /dev/null +++ b/test/completion/test_public_completion_api.vader @@ -0,0 +1,63 @@ +Before: + call ale#linter#Reset() + + unlet! b:ale_linters + unlet! b:ale_completion_info + unlet! b:ale_completion_response + unlet! b:ale_completion_parser + unlet! b:ale_completion_result + + function! Identity(x) abort + return a:x + endfunction + +After: + delfunction Identity + + call ale#linter#Reset() + + unlet! b:ale_linters + unlet! b:ale_completion_info + unlet! b:ale_completion_response + unlet! b:ale_completion_parser + unlet! b:ale_completion_result + +Execute(ale#completion#GetCompletionResult() should return v:null when there are no results): + AssertEqual v:null, ale#completion#GetCompletionResult() + +Execute(ale#completion#GetCompletionResult() should parse the result when it has yet to be parsed): + let b:ale_completion_response = [1] + let b:ale_completion_parser = 'Identity' + + AssertEqual [1], ale#completion#GetCompletionResult() + Assert !exists('b:ale_completion_response') + Assert !exists('b:ale_completion_parser') + AssertEqual [1], b:ale_completion_result + +Execute(ale#completion#GetCompletionResult() should return a result computed previously): + let b:ale_completion_result = [1] + + Assert !exists('b:ale_completion_response') + Assert !exists('b:ale_completion_parser') + AssertEqual [1], ale#completion#GetCompletionResult() + +Execute(ale#completion#GetCompletionPosition() should return 0 when there is no completion information): + AssertEqual 0, ale#completion#GetCompletionPosition() + +Given python(Some Python file): + foo bar + +Execute(ale#completion#GetCompletionPosition() should return the position in the file when information is available): + let b:ale_completion_info = {'line': 1, 'column': 6} + + " This is the first character of 'bar' + AssertEqual 4, ale#completion#GetCompletionPosition() + +Execute(ale#completion#CanProvideCompletions should return 0 when no completion sources are available): + AssertEqual 0, ale#completion#CanProvideCompletions() + +Execute(ale#completion#CanProvideCompletions should return 1 when at least one completion source is available): + runtime ale_linters/python/pyls.vim + let b:ale_linters = ['pyls'] + + AssertEqual 1, ale#completion#CanProvideCompletions() |