110 lines
4.3 KiB
Text
110 lines
4.3 KiB
Text
|
Describe init.vim
|
||
|
function! s:clear()
|
||
|
for key in s:sections
|
||
|
unlet! g:airline_section_{key}
|
||
|
endfor
|
||
|
endfunction
|
||
|
|
||
|
let s:sections = ['a', 'b', 'c', 'gutter', 'x', 'y', 'z', 'warning']
|
||
|
call airline#init#bootstrap()
|
||
|
|
||
|
Before each
|
||
|
call s:clear()
|
||
|
call airline#init#sections()
|
||
|
End
|
||
|
|
||
|
It section a should have mode, paste, spell, iminsert
|
||
|
Assert Match(g:airline_section_a, 'mode')
|
||
|
Assert Match(g:airline_section_a, 'paste')
|
||
|
Assert Match(g:airline_section_a, 'spell')
|
||
|
Assert Match(g:airline_section_a, 'iminsert')
|
||
|
End
|
||
|
|
||
|
It section b should be blank because no extensions are installed
|
||
|
Assert Equals(g:airline_section_b, '')
|
||
|
End
|
||
|
|
||
|
It section c should be file and coc_status
|
||
|
set noautochdir
|
||
|
call airline#init#sections()
|
||
|
Assert Equals(g:airline_section_c, '%<%f%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#%#__accent_bold#%#__restore__#%#__accent_bold#%#__restore__#')
|
||
|
End
|
||
|
|
||
|
It section c should be path and coc_status
|
||
|
set autochdir
|
||
|
call s:clear()
|
||
|
call airline#init#sections()
|
||
|
Assert Equals(g:airline_section_c, '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#%#__accent_bold#%#__restore__#%#__accent_bold#%#__restore__#')
|
||
|
End
|
||
|
|
||
|
It section x should be filetype
|
||
|
Assert Equals(g:airline_section_x, '%#__accent_bold#%#__restore__#%{airline#util#prepend("",0)}%{airline#util#prepend("",0)}%{airline#util#prepend("",0)}%{airline#util#prepend("",0)}%{airline#util#prepend("",0)}%{airline#util#wrap(airline#parts#filetype(),0)}')
|
||
|
End
|
||
|
|
||
|
It section y should be fenc and ff
|
||
|
Assert Equals(g:airline_section_y, '%{airline#util#wrap(airline#parts#ffenc(),0)}')
|
||
|
End
|
||
|
|
||
|
It section z should be line numbers
|
||
|
Assert Match(g:airline_section_z, '%p%%')
|
||
|
Assert Match(g:airline_section_z, '%l')
|
||
|
Assert Match(g:airline_section_z, '%v')
|
||
|
End
|
||
|
|
||
|
It section gutter should be blank unless csv extension is installed
|
||
|
" Note: the csv extension uses only the window local variable
|
||
|
Assert Equals(g:airline_section_gutter, '%=')
|
||
|
End
|
||
|
|
||
|
It section warning should be blank
|
||
|
Assert Match(g:airline_section_warning, '')
|
||
|
End
|
||
|
|
||
|
It should not redefine sections already defined
|
||
|
for s in s:sections
|
||
|
let g:airline_section_{s} = s
|
||
|
endfor
|
||
|
call airline#init#bootstrap()
|
||
|
for s in s:sections
|
||
|
Assert Equals(g:airline_section_{s}, s)
|
||
|
endfor
|
||
|
End
|
||
|
|
||
|
It all default statusline extensions should be blank
|
||
|
Assert Equals(airline#parts#get('ale_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('ale_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('lsp_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('lsp_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('nvimlsp_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('nvimlsp_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('hunks').raw, '')
|
||
|
Assert Equals(airline#parts#get('branch').raw, '')
|
||
|
Assert Equals(airline#parts#get('eclim').raw, '')
|
||
|
Assert Equals(airline#parts#get('neomake_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('neomake_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('obsession').raw, '')
|
||
|
Assert Equals(airline#parts#get('syntastic-err').raw, '')
|
||
|
Assert Equals(airline#parts#get('syntastic-warn').raw, '')
|
||
|
Assert Equals(airline#parts#get('tagbar').raw , '')
|
||
|
Assert Equals(airline#parts#get('whitespace').raw, '')
|
||
|
Assert Equals(airline#parts#get('windowswap').raw , '')
|
||
|
Assert Equals(airline#parts#get('ycm_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('ycm_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('languageclient_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('languageclient_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('coc_status').raw, '')
|
||
|
Assert Equals(airline#parts#get('coc_current_function').raw, '')
|
||
|
Assert Equals(airline#parts#get('vista').raw, '')
|
||
|
Assert Equals(airline#parts#get('coc_warning_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('coc_error_count').raw, '')
|
||
|
Assert Equals(airline#parts#get('battery').raw, '')
|
||
|
End
|
||
|
|
||
|
it should not redefine parts already defined
|
||
|
call airline#parts#define_raw('linenr', 'bar')
|
||
|
call s:clear()
|
||
|
call airline#init#sections()
|
||
|
Assert Match(g:airline_section_z, 'bar')
|
||
|
End
|
||
|
End
|