airline.vimspec 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. Describe airline.vim
  2. Before
  3. let g:airline_statusline_funcrefs = []
  4. End
  5. It should run user funcrefs first
  6. call airline#add_statusline_func('MyFuncref')
  7. let &statusline = ''
  8. call airline#update_statusline()
  9. Assert Match(airline#statusline(1), 'hello world')
  10. End
  11. It should not change the statusline with -1
  12. call airline#add_statusline_funcref(function('MyIgnoreFuncref'))
  13. let &statusline = 'foo'
  14. call airline#update_statusline()
  15. Assert Equals(&statusline, 'foo')
  16. End
  17. It should support multiple chained funcrefs
  18. call airline#add_statusline_func('MyAppend1')
  19. call airline#add_statusline_func('MyAppend2')
  20. call airline#update_statusline()
  21. Assert Match(airline#statusline(1), 'helloworld')
  22. End
  23. It should allow users to redefine sections
  24. let g:airline_section_a = airline#section#create(['mode', 'mode'])
  25. call airline#update_statusline()
  26. Assert Match(airline#statusline(1), '%{airline#util#wrap(airline#parts#mode(),0)}%#airline_a#%#airline_a_bold#%{airline#util#wrap(airline#parts#mode(),0)}%#airline_a#')
  27. End
  28. It should remove funcrefs properly
  29. let c = len(g:airline_statusline_funcrefs)
  30. call airline#add_statusline_func('MyIgnoreFuncref')
  31. call airline#remove_statusline_func('MyIgnoreFuncref')
  32. Assert Equals(len(g:airline_statusline_funcrefs), c)
  33. End
  34. It should overwrite the statusline with active and inactive splits
  35. wincmd s
  36. Assert NotMatch(airline#statusline(1), 'inactive')
  37. Assert Match(airline#statusline(2), 'inactive')
  38. wincmd c
  39. End
  40. It should collapse the inactive split if the variable is set true
  41. let g:airline_inactive_collapse = 1
  42. wincmd s
  43. Assert NotMatch(getwinvar(2, '&statusline'), 'airline#parts#mode')
  44. wincmd c
  45. end
  46. It should collapse the inactive split if the variable is set false
  47. let g:airline_inactive_collapse = 0
  48. wincmd s
  49. Assert NotEquals(getwinvar(2, '&statusline'), 'airline#parts#mode')
  50. wincmd c
  51. End
  52. It should include check_mode
  53. Assert Match(airline#statusline(1), 'airline#check_mode')
  54. End
  55. End