Testare sul track di Vim script

Scopri come testare i tuoi esercizi di Vim script su Exercism


Questa traccia usa due strumenti per eseguire la suite di test e garantire le buone pratiche:

  1. vader.vim
  2. vint

Eseguire i test

  1. Installa vader.vim.
  2. Apri la soluzione:
    $ vim exercise.vim
    
  3. Esegui il source del file corrente per rendere le sue funzioni globali disponibili a Vim:
    :source %
    
  4. Esegui i test:
    :Vader exercise.vader
    

I percorsi possono variare.

Se vuoi una scorciatoia comoda per i passaggi precedenti, metti questo nel file vimrc:

function! s:exercism_tests()
  if expand('%:e') == 'vim'
    let testfile = printf('%s/%s.vader', expand('%:p:h'),
          \ tr(expand('%:p:h:t'), '-', '_'))
    if !filereadable(testfile)
      echoerr 'File does not exist: '. testfile
      return
    endif
    source %
    execute 'Vader' testfile
  else
    let sourcefile = printf('%s/%s.vim', expand('%:p:h'),
          \ tr(expand('%:p:h:t'), '-', '_'))
    if !filereadable(sourcefile)
      echoerr 'File does not exist: '. sourcefile
      return
    endif
    execute 'source' sourcefile
    Vader
  endif
endfunction

autocmd BufRead *.{vader,vim}
      \ command! -buffer Test call s:exercism_tests()

Dopodiché apri un qualsiasi file .vim o .vader da una directory dell'esercizio ed esegui il comando :Test.

Linting dei file Vim

  1. Installa vint.
  2. Esegui il linting di tutti i file Vim in modo ricorsivo:
    $ vint .
    

Per informazioni più dettagliate sulla traccia Vim script, consulta la pagina di aiuto.