summaryrefslogtreecommitdiff
path: root/test/test_disabling_ale.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-05-26 16:20:17 +0100
committerw0rp <devw0rp@gmail.com>2017-05-26 16:20:17 +0100
commit9460e58c3b254d6716d607799fa9333f3d20d40f (patch)
tree035570b598fac583f5f14782a1f6ad191349ab83 /test/test_disabling_ale.vader
parentc77cf0e518e18b2e6f1f259c0f92e717d28c8998 (diff)
downloadale-9460e58c3b254d6716d607799fa9333f3d20d40f.zip
Fix #371 Allow ALE to be disabled in different buffers
Diffstat (limited to 'test/test_disabling_ale.vader')
-rw-r--r--test/test_disabling_ale.vader92
1 files changed, 92 insertions, 0 deletions
diff --git a/test/test_disabling_ale.vader b/test/test_disabling_ale.vader
new file mode 100644
index 00000000..b08c5b1d
--- /dev/null
+++ b/test/test_disabling_ale.vader
@@ -0,0 +1,92 @@
+Before:
+ Save g:ale_buffer_info, g:ale_enabled, b:ale_enabled
+
+ function! TestCallback(buffer, output)
+ return []
+ endfunction
+
+ call ale#linter#Define('foobar', {
+ \ 'name': 'testlinter',
+ \ 'callback': 'TestCallback',
+ \ 'executable': 'echo',
+ \ 'command': 'true',
+ \})
+
+ function GetLastMessage()
+ redir => l:output
+ silent mess
+ redir END
+
+ let l:lines = split(l:output, "\n")
+
+ return empty(l:lines) ? '' : l:lines[-1]
+ endfunction
+
+ echomsg ''
+
+After:
+ Restore
+ call ale#linter#Reset()
+ delfunction TestCallback
+ delfunction GetLastMessage
+
+Given foobar (Some imaginary filetype):
+ foo
+ bar
+ baz
+
+Execute(Linting shouldn't happen when ALE is disabled globally):
+ let g:ale_enabled = 0
+ let g:ale_buffer_info = {}
+
+ call ale#Queue(0)
+
+ AssertEqual {}, g:ale_buffer_info
+
+Execute(Linting shouldn't happen when ALE is disabled locally):
+ let b:ale_enabled = 0
+ let g:ale_buffer_info = {}
+
+ call ale#Queue(0)
+
+ AssertEqual {}, g:ale_buffer_info
+
+Execute(Cursor warnings shouldn't be echoed when ALE is disabled globally):
+ let g:ale_enabled = 0
+ let g:ale_buffer_info = {
+ \ bufnr('%'): {
+ \ 'loclist': [
+ \ {
+ \ 'lnum': 2,
+ \ 'col': 10,
+ \ 'linter_name': 'testlinter',
+ \ 'type': 'W',
+ \ 'text': 'X'
+ \ },
+ \ ],
+ \ },
+ \}
+
+ call cursor(2, 16)
+ call ale#cursor#EchoCursorWarning()
+ AssertEqual '', GetLastMessage()
+
+Execute(Cursor warnings shouldn't be echoed when ALE is disabled locally):
+ let b:ale_enabled = 0
+ let g:ale_buffer_info = {
+ \ bufnr('%'): {
+ \ 'loclist': [
+ \ {
+ \ 'lnum': 2,
+ \ 'col': 10,
+ \ 'linter_name': 'testlinter',
+ \ 'type': 'W',
+ \ 'text': 'X'
+ \ },
+ \ ],
+ \ },
+ \}
+
+ call cursor(2, 16)
+ call ale#cursor#EchoCursorWarning()
+ AssertEqual '', GetLastMessage()