summaryrefslogtreecommitdiff
path: root/test/test_errors_removed_after_filetype_changed.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-07-07 23:47:41 +0100
committerw0rp <devw0rp@gmail.com>2017-07-07 23:47:41 +0100
commit8eb4f95766350b7a1f80eae691f390faee045e6d (patch)
tree8d3973d0226c83d129fa8c2292befb5adf601759 /test/test_errors_removed_after_filetype_changed.vader
parent46225f3bb13a242bf3b218d395f3911f013d5f14 (diff)
downloadale-8eb4f95766350b7a1f80eae691f390faee045e6d.zip
#697 - Clear all highlights every time items are set again, and refactor most things. Clear errors when linters are removed
Diffstat (limited to 'test/test_errors_removed_after_filetype_changed.vader')
-rw-r--r--test/test_errors_removed_after_filetype_changed.vader58
1 files changed, 58 insertions, 0 deletions
diff --git a/test/test_errors_removed_after_filetype_changed.vader b/test/test_errors_removed_after_filetype_changed.vader
new file mode 100644
index 00000000..0498a501
--- /dev/null
+++ b/test/test_errors_removed_after_filetype_changed.vader
@@ -0,0 +1,58 @@
+Before:
+ Save g:ale_run_synchronously
+
+ let b:old_filetype = &filetype
+ let g:ale_run_synchronously = 1
+
+ noautocmd let &filetype = 'foobar'
+
+ function! TestCallback(buffer, output)
+ return [{'text': 'x', 'lnum': 1}]
+ endfunction
+
+ call ale#linter#Define('foobar', {
+ \ 'name': 'buffer_linter',
+ \ 'callback': 'TestCallback',
+ \ 'executable': 'true',
+ \ 'command': 'true',
+ \ 'read_buffer': 0,
+ \})
+
+ call ale#linter#Define('foobar2', {
+ \ 'name': 'buffer_linter',
+ \ 'callback': 'TestCallback',
+ \ 'executable': 'true',
+ \ 'command': 'true',
+ \ 'read_buffer': 0,
+ \})
+
+After:
+ Restore
+
+ noautocmd let &filetype = b:old_filetype
+ unlet b:old_filetype
+ delfunction TestCallback
+
+ if has_key(g:ale_buffer_info, bufnr(''))
+ call remove(g:ale_buffer_info, bufnr(''))
+ endif
+
+ call ale#Queue(0)
+
+Execute(Error should be removed when the filetype changes to something else we cannot check):
+ call ale#Queue(0)
+
+ AssertEqual 1, len(getloclist(0))
+
+ noautocmd let &filetype = 'foobar2'
+
+ call ale#Queue(0)
+
+ " We should get some items from the second filetype.
+ AssertEqual 1, len(getloclist(0))
+
+ noautocmd let &filetype = 'xxx'
+
+ call ale#Queue(0)
+
+ AssertEqual 0, len(getloclist(0))