vim-airline/test/util.vimspec

70 lines
1.8 KiB
Plaintext

call airline#init#bootstrap()
function! Util1()
let g:count += 1
endfunction
function! Util2()
let g:count += 2
endfunction
function! Util3(...)
let g:count = a:0
endfunction
Describe util
Before each
let g:count = 0
End
It has append wrapper function
Assert Equals(airline#util#append('', 0), '')
Assert Equals(airline#util#append('1', 0), ' 1')
End
It should be same &columns
let g:airline_statusline_ontop = 1
Assert Equals(airline#util#winwidth(), &columns)
End
It should be same winwidth(0)
let g:airline_statusline_ontop = 0
Assert Equals(airline#util#winwidth(), winwidth(0))
End
It should be same winwidth(30)
Assert Equals(airline#util#winwidth(30, 0), winwidth(30))
End
It has prepend wrapper function
Assert Equals(airline#util#prepend('', 0), '')
Assert Equals(airline#util#prepend('1', 0), '1 ')
End
It has getwinvar function
Assert Equals(airline#util#getwinvar(1, 'asdf', '123'), '123')
call setwinvar(1, 'vspec', 'is cool')
Assert Equals(airline#util#getwinvar(1, 'vspec', ''), 'is cool')
End
It has exec funcrefs helper functions
call airline#util#exec_funcrefs([function('Util1'), function('Util2')])
Assert Equals(g:count, 3)
call airline#util#exec_funcrefs([function('Util3')], 1, 2, 3, 4)
Assert Equals(g:count, 4)
End
It should ignore minwidth if less than 0
Assert Equals(airline#util#append('foo', -1), ' foo')
Assert Equals(airline#util#prepend('foo', -1), 'foo ')
Assert Equals(airline#util#wrap('foo', -1), 'foo')
End
It should return empty if winwidth() > minwidth
Assert Equals(airline#util#append('foo', 99999), '')
Assert Equals(airline#util#prepend('foo', 99999), '')
Assert Equals(airline#util#wrap('foo', 99999), '')
End
End