mirror of
				https://github.com/vim-airline/vim-airline.git
				synced 2025-10-31 19:53:51 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| let g:airline_theme = 'dark'
 | |
| call airline#init#bootstrap()
 | |
| call airline#init#sections()
 | |
| source plugin/airline.vim
 | |
| 
 | |
| function! MyFuncref(...)
 | |
|   call a:1.add_raw('hello world')
 | |
|   return 1
 | |
| endfunction
 | |
| 
 | |
| function! MyIgnoreFuncref(...)
 | |
|   return -1
 | |
| endfunction
 | |
| 
 | |
| function! MyAppend1(...)
 | |
|   call a:1.add_raw('hello')
 | |
| endfunction
 | |
| 
 | |
| function! MyAppend2(...)
 | |
|   call a:1.add_raw('world')
 | |
| endfunction
 | |
| 
 | |
| describe 'airline'
 | |
|   before
 | |
|     let g:airline_statusline_funcrefs = []
 | |
|   end
 | |
| 
 | |
|   it 'should run user funcrefs first'
 | |
|     call airline#add_statusline_func('MyFuncref')
 | |
|     let &statusline = ''
 | |
|     call airline#update_statusline()
 | |
|     Expect airline#statusline(1) =~ 'hello world'
 | |
|   end
 | |
| 
 | |
|   it 'should not change the statusline with -1'
 | |
|     call airline#add_statusline_funcref(function('MyIgnoreFuncref'))
 | |
|     let &statusline = 'foo'
 | |
|     call airline#update_statusline()
 | |
|     Expect &statusline == 'foo'
 | |
|   end
 | |
| 
 | |
|   it 'should support multiple chained funcrefs'
 | |
|     call airline#add_statusline_func('MyAppend1')
 | |
|     call airline#add_statusline_func('MyAppend2')
 | |
|     call airline#update_statusline()
 | |
|     Expect airline#statusline(1) =~ 'helloworld'
 | |
|   end
 | |
| 
 | |
|   it 'should allow users to redefine sections'
 | |
|     let g:airline_section_a = airline#section#create(['mode', 'mode'])
 | |
|     call airline#update_statusline()
 | |
|     Expect airline#statusline(1) =~ '%{airline#util#wrap(airline#parts#mode(),0)}%#airline_a#%#airline_a_bold#%{airline#util#wrap(airline#parts#mode(),0)}%#airline_a#'
 | |
|   end
 | |
| 
 | |
|   it 'should remove funcrefs properly'
 | |
|     let c = len(g:airline_statusline_funcrefs)
 | |
|     call airline#add_statusline_func('MyIgnoreFuncref')
 | |
|     call airline#remove_statusline_func('MyIgnoreFuncref')
 | |
|     Expect len(g:airline_statusline_funcrefs) == c
 | |
|   end
 | |
| 
 | |
|   it 'should overwrite the statusline with active and inactive splits'
 | |
|     wincmd s
 | |
|     Expect airline#statusline(1) !~ 'inactive'
 | |
|     Expect airline#statusline(2) =~ 'inactive'
 | |
|     wincmd c
 | |
|   end
 | |
| 
 | |
|   it 'should collapse the inactive split if the variable is set true'
 | |
|     let g:airline_inactive_collapse = 1
 | |
|     wincmd s
 | |
|     Expect getwinvar(2, '&statusline') !~ 'airline#parts#mode'
 | |
|     wincmd c
 | |
|   end
 | |
| 
 | |
|   it 'should not collapse the inactive split if the variable is set false'
 | |
|     let g:airline_inactive_collapse = 0
 | |
|     wincmd s
 | |
|     Expect getwinvar(2, '&statusline') != 'airline#parts#mode'
 | |
|     wincmd c
 | |
|   end
 | |
| 
 | |
|   it 'should include check_mode'
 | |
|     Expect airline#statusline(1) =~ 'airline#check_mode'
 | |
|   end
 | |
| end
 | |
| 
 |