summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-03-25 12:57:08 +0100
committerw0rp <devw0rp@gmail.com>2018-03-25 12:57:08 +0100
commit164c711b3da5a51a2323a3bd613df251ce455ca5 (patch)
tree25796d3a5776c4789def6ee00b68fca95a8db2e4 /test
parent107516c757df82d2ee84426de9b35fd52e953c5c (diff)
downloadale-164c711b3da5a51a2323a3bd613df251ce455ca5.zip
Fix #1404 - Do not show balloons when g:ale_set_balloons is 0. Add b:ale_set_balloonsv1.8.0
Diffstat (limited to 'test')
-rw-r--r--test/test_ale_toggle.vader40
-rw-r--r--test/test_balloon_messages.vader51
2 files changed, 84 insertions, 7 deletions
diff --git a/test/test_ale_toggle.vader b/test/test_ale_toggle.vader
index d56f8c2b..ca8b25d5 100644
--- a/test/test_ale_toggle.vader
+++ b/test/test_ale_toggle.vader
@@ -5,12 +5,14 @@ Before:
Save g:ale_run_synchronously
Save g:ale_pattern_options
Save g:ale_pattern_options_enabled
+ Save g:ale_set_balloons
let g:ale_set_signs = 1
let g:ale_set_lists_synchronously = 1
let g:ale_run_synchronously = 1
let g:ale_pattern_options = {}
let g:ale_pattern_options_enabled = 1
+ let g:ale_set_balloons = has('balloon_eval')
unlet! b:ale_enabled
@@ -344,3 +346,41 @@ Execute(ALEResetBuffer should reset everything for a buffer):
AssertEqual 1, g:ale_enabled
AssertEqual 1, get(b:, 'ale_enabled', 1)
+
+Execute(Disabling ALE should disable balloons):
+ " These tests won't run in the console, but we can run them manually in GVim.
+ if has('balloon_eval')
+ call ale#linter#Reset()
+
+ " Enable balloons, so we can check the expr value.
+ call ale#balloon#Enable()
+
+ AssertEqual 1, &ballooneval
+ AssertEqual 'ale#balloon#Expr()', &balloonexpr
+
+ " Toggle ALE off.
+ ALEToggle
+
+ " The balloon settings should be reset.
+ AssertEqual 0, &ballooneval
+ AssertEqual '', &balloonexpr
+ endif
+
+Execute(Enabling ALE should enable balloons if the setting is on):
+ if has('balloon_eval')
+ call ale#linter#Reset()
+ call ale#balloon#Disable()
+ ALEDisable
+ let g:ale_set_balloons = 0
+ ALEEnable
+
+ AssertEqual 0, &ballooneval
+ AssertEqual '', &balloonexpr
+
+ ALEDisable
+ let g:ale_set_balloons = 1
+ ALEEnable
+
+ AssertEqual 1, &ballooneval
+ AssertEqual 'ale#balloon#Expr()', &balloonexpr
+ endif
diff --git a/test/test_balloon_messages.vader b/test/test_balloon_messages.vader
index ec09fe29..8f4415ae 100644
--- a/test/test_balloon_messages.vader
+++ b/test/test_balloon_messages.vader
@@ -1,21 +1,25 @@
Before:
Save g:ale_buffer_info
+ Save g:ale_enabled
+ Save g:ale_set_balloons
- let g:ale_buffer_info[347] = {'loclist': [
+ let g:ale_set_balloons = 1
+
+ let g:ale_buffer_info[bufnr('')] = {'loclist': [
\ {
- \ 'bufnr': 347,
+ \ 'bufnr': bufnr(''),
\ 'lnum': 1,
\ 'col': 10,
\ 'text': 'Missing semicolon. (semi)',
\ },
\ {
- \ 'bufnr': 347,
+ \ 'bufnr': bufnr(''),
\ 'lnum': 2,
\ 'col': 10,
\ 'text': 'Infix operators must be spaced. (space-infix-ops)'
\ },
\ {
- \ 'bufnr': 347,
+ \ 'bufnr': bufnr(''),
\ 'lnum': 2,
\ 'col': 15,
\ 'text': 'Missing radix parameter (radix)'
@@ -25,17 +29,50 @@ Before:
After:
Restore
+ unlet! b:ale_enabled
+ unlet! b:ale_set_balloons
+
Execute(Balloon messages should be shown for the correct lines):
AssertEqual
\ 'Missing semicolon. (semi)',
- \ ale#balloon#MessageForPos(347, 1, 1)
+ \ ale#balloon#MessageForPos(bufnr(''), 1, 1)
Execute(Balloon messages should be shown for earlier columns):
AssertEqual
\ 'Infix operators must be spaced. (space-infix-ops)',
- \ ale#balloon#MessageForPos(347, 2, 1)
+ \ ale#balloon#MessageForPos(bufnr(''), 2, 1)
Execute(Balloon messages should be shown for later columns):
AssertEqual
\ 'Missing radix parameter (radix)',
- \ ale#balloon#MessageForPos(347, 2, 16)
+ \ ale#balloon#MessageForPos(bufnr(''), 2, 16)
+
+Execute(Balloon messages should be disabled if ALE is disabled globally):
+ let g:ale_enabled = 0
+ " Enabling the buffer should not make a difference.
+ let b:ale_enabled = 1
+
+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
+
+Execute(Balloon messages should be disabled if ALE is disabled for a buffer):
+ let b:ale_enabled = 0
+
+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
+
+Execute(Balloon messages should be disabled if the global setting is off):
+ let g:ale_set_balloons = 0
+
+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
+
+Execute(Balloon messages should be disabled if the buffer setting is off):
+ let b:ale_set_balloons = 0
+
+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
+
+Execute(The balloon buffer setting should override the global one):
+ let g:ale_set_balloons = 0
+ let b:ale_set_balloons = 1
+
+ AssertEqual
+ \ 'Missing semicolon. (semi)',
+ \ ale#balloon#MessageForPos(bufnr(''), 1, 1)