Describe gina#command#edit
  Before all
    let Path = vital#gina#import('System.Filepath')
    let slit1 = Slit(tempname(), 1)
    call slit1.write('A/foo.txt', [])
    call slit1.execute('add %s', slit1.path('A/foo.txt'))

    call slit1.write('A/foo.txt', ['1'])
    call slit1.execute('commit --quiet -am "First"')

    call slit1.write('A/foo.txt', ['2'])
    call slit1.execute('commit --quiet -am "Second"')

    call slit1.write('A/foo.txt', ['3'])
    call slit1.execute('add %s', slit1.path('A/foo.txt'))

    call slit1.write('A/foo.txt', ['4'])
  End

  After all
    %bwipeout!
  End

  Before
    %bwipeout!
  End

  Describe Use cases
    It might be called without arguments
      execute 'edit' fnameescape(slit1.path('A/foo.txt'))
      GinaSync show :
      GinaSync edit
      Assert Equals(winnr('$'), 1)
      " Focused buffer
      Assert Equals(bufname('%'), slit1.path('A/foo.txt'))
      Assert Equals(getline(1, '$'), [
            \ '4',
            \])
    End
  End
End