test.vader 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. Execute (Initialize test environment):
  2. Save &rtp, g:plugs, g:plug_home, g:plug_window
  3. let first_rtp = split(&rtp, ',')[0]
  4. let last_rtp = split(&rtp, ',')[-1]
  5. let vader = fnamemodify(globpath(&rtp, 'autoload/vader.vim'), ':h:h')
  6. let plug = fnamemodify(globpath(&rtp, 'autoload/plug.vim'), ':h:h')
  7. set rtp=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after
  8. execute 'set rtp^='.vader
  9. execute 'set rtp^='.plug
  10. let basertp = &rtp
  11. unlet! g:plugs g:plug_home g:plug_window
  12. let g:plug_url_format = 'file:///tmp/%s'
  13. set t_Co=256
  14. colo default
  15. pclose
  16. function! PlugStatusSorted()
  17. PlugStatus
  18. %y
  19. q
  20. normal! P
  21. %sort
  22. g/^$/d
  23. endfunction
  24. function! AssertExpect(bang, pat, cnt)
  25. let op = a:bang ? '==#' : '=~#'
  26. AssertEqual a:cnt, len(filter(getline(1, '$'), "v:val ".op." '".a:pat."'"))
  27. endfunction
  28. command! -nargs=+ -bang AssertExpect call AssertExpect('<bang>' == '!', <args>)
  29. function! EnsureLoaded()
  30. if has('vim_starting')
  31. runtime! plugin/**/*.vim
  32. endif
  33. endfunction
  34. " Reload vim-plug to reset s:-variables
  35. function! ReloadPlug()
  36. let tmp = tempname()
  37. try
  38. call writefile(readfile(globpath(&rtp, 'autoload/plug.vim')), tmp)
  39. unlet g:loaded_plug
  40. execute 'source' tmp
  41. let &rtp = g:basertp
  42. finally
  43. call delete(tmp)
  44. endtry
  45. endfunction
  46. Execute (Print Interpreter Version):
  47. redir => out
  48. if has('ruby')
  49. silent ruby puts 'Ruby: ' + RUBY_VERSION
  50. elseif has('python')
  51. silent python import sys; svi = sys.version_info; print 'Python: {}.{}.{}'.format(svi[0], svi[1], svi[2])
  52. elseif has('python3')
  53. silent python3 import sys; svi = sys.version_info; print('Python: {}.{}.{}'.format(svi[0], svi[1], svi[2]))
  54. endif
  55. redir END
  56. Log substitute(out, '\n', '', 'g')
  57. Include: workflow.vader
  58. Include: regressions.vader
  59. Execute (Cleanup):
  60. silent! call system('rm -rf '.temp_plugged)
  61. silent! call system('rm -rf '.temp_plugged)
  62. silent! call rename(fzf, expand('$PLUG_FIXTURES/fzf-staged'))
  63. silent! unlet g:plugs
  64. silent! unlet g:plug_home
  65. silent! unlet g:plug_url_format
  66. silent! unlet temp_plugged vader plug basertp save_rtp repo lnum fzf out tabnr found len
  67. silent! delf PlugStatusSorted
  68. silent! delf AssertExpect
  69. silent! delf PlugUpdated
  70. silent! delf EnsureLoaded
  71. silent! delf ReloadPlug
  72. silent! delc AssertExpect
  73. silent! unmap /
  74. silent! unmap ?
  75. Restore