11Before:
22 Save g:ale_buffer_info
3+ Save g:ale_enabled
4+ Save g:ale_set_balloons
35
4- let g:ale_buffer_info[347] = {'loclist': [
6+ let g:ale_set_balloons = 1
7+
8+ let g:ale_buffer_info[bufnr('')] = {'loclist': [
59 \ {
6- \ 'bufnr': 347 ,
10+ \ 'bufnr': bufnr('') ,
711 \ 'lnum': 1,
812 \ 'col': 10,
913 \ 'text': 'Missing semicolon. (semi)',
1014 \ },
1115 \ {
12- \ 'bufnr': 347 ,
16+ \ 'bufnr': bufnr('') ,
1317 \ 'lnum': 2,
1418 \ 'col': 10,
1519 \ 'text': 'Infix operators must be spaced. (space-infix-ops)'
1620 \ },
1721 \ {
18- \ 'bufnr': 347 ,
22+ \ 'bufnr': bufnr('') ,
1923 \ 'lnum': 2,
2024 \ 'col': 15,
2125 \ 'text': 'Missing radix parameter (radix)'
@@ -25,17 +29,50 @@ Before:
2529After:
2630 Restore
2731
32+ unlet! b:ale_enabled
33+ unlet! b:ale_set_balloons
34+
2835Execute(Balloon messages should be shown for the correct lines):
2936 AssertEqual
3037 \ 'Missing semicolon. (semi)',
31- \ ale#balloon#MessageForPos(347 , 1, 1)
38+ \ ale#balloon#MessageForPos(bufnr('') , 1, 1)
3239
3340Execute(Balloon messages should be shown for earlier columns):
3441 AssertEqual
3542 \ 'Infix operators must be spaced. (space-infix-ops)',
36- \ ale#balloon#MessageForPos(347 , 2, 1)
43+ \ ale#balloon#MessageForPos(bufnr('') , 2, 1)
3744
3845Execute(Balloon messages should be shown for later columns):
3946 AssertEqual
4047 \ 'Missing radix parameter (radix)',
41- \ ale#balloon#MessageForPos(347, 2, 16)
48+ \ ale#balloon#MessageForPos(bufnr(''), 2, 16)
49+
50+ Execute(Balloon messages should be disabled if ALE is disabled globally):
51+ let g:ale_enabled = 0
52+ " Enabling the buffer should not make a difference.
53+ let b:ale_enabled = 1
54+
55+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
56+
57+ Execute(Balloon messages should be disabled if ALE is disabled for a buffer):
58+ let b:ale_enabled = 0
59+
60+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
61+
62+ Execute(Balloon messages should be disabled if the global setting is off):
63+ let g:ale_set_balloons = 0
64+
65+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
66+
67+ Execute(Balloon messages should be disabled if the buffer setting is off):
68+ let b:ale_set_balloons = 0
69+
70+ AssertEqual '', ale#balloon#MessageForPos(bufnr(''), 1, 1)
71+
72+ Execute(The balloon buffer setting should override the global one):
73+ let g:ale_set_balloons = 0
74+ let b:ale_set_balloons = 1
75+
76+ AssertEqual
77+ \ 'Missing semicolon. (semi)',
78+ \ ale#balloon#MessageForPos(bufnr(''), 1, 1)
0 commit comments