1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
Before:
Save g:ale_max_signs
let g:ale_max_signs = -1
function! SetNProblems(sign_count)
let l:loclist = []
let l:range = range(1, a:sign_count)
call setline(1, l:range)
for l:index in l:range
call add(l:loclist, {
\ 'bufnr': bufnr(''),
\ 'lnum': l:index,
\ 'col': 1,
\ 'type': 'E',
\ 'text': 'a',
\})
endfor
call ale#sign#SetSigns(bufnr(''), l:loclist)
return sort(map(ale#sign#FindCurrentSigns(bufnr(''))[1], 'v:val[0]'), 'n')
endfunction
After:
Restore
unlet! b:ale_max_signs
delfunction SetNProblems
sign unplace *
Execute(There should be no limit on signs with negative numbers):
AssertEqual range(1, 42), SetNProblems(42)
Execute(0 signs should be set when the max is 0):
let g:ale_max_signs = 0
AssertEqual [], SetNProblems(42)
Execute(1 signs should be set when the max is 1):
let g:ale_max_signs = 1
AssertEqual [1], SetNProblems(42)
Execute(10 signs should be set when the max is 10):
let g:ale_max_signs = 10
" We'll check that we set signs for the first 10 items, not other lines.
AssertEqual range(1, 10), SetNProblems(42)
Execute(5 signs should be set when the max is 5 for the buffer):
let b:ale_max_signs = 5
AssertEqual range(1, 5), SetNProblems(42)
|