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