1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 13:00:05 +08:00
SpaceVim/bundle/gina.vim/test/gina/command/ls.vimspec

88 lines
2.5 KiB
Plaintext
Vendored

Describe gina#command#ls
Before all
let Path = vital#gina#import('System.Filepath')
let slit1 = Slit(tempname(), 1)
call slit1.write('A/foo.txt', [])
call slit1.write('B/foo.txt', [])
call slit1.write('C/foo.txt', [])
call slit1.write('D/foo.txt', [])
call slit1.execute('add %s', slit1.path('A/foo.txt'))
call slit1.execute('commit --quiet -m "First"')
call slit1.execute('checkout -b develop')
call slit1.execute('add %s', slit1.path('B/foo.txt'))
call slit1.execute('commit --quiet -m "Second"')
call slit1.execute('checkout master')
call slit1.execute('add %s', slit1.path('C/foo.txt'))
call slit1.execute('commit --quiet -m "Thrid"')
End
After all
%bwipeout!
End
Before
%bwipeout!
execute 'edit' fnameescape(Path.join(slit1.worktree, 'A', 'foo.txt'))
End
Describe Use cases
It might be called without arguments
GinaSync ls
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:ls', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'A/foo.txt',
\ 'C/foo.txt',
\])
End
It might be called with --others
GinaSync ls --others
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:ls', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'D/foo.txt',
\])
End
It might be called with HEAD
GinaSync ls HEAD
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:ls/HEAD', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'A/foo.txt',
\ 'C/foo.txt',
\])
End
It might be called with HEAD~
GinaSync ls HEAD~
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:ls/HEAD~', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'A/foo.txt',
\])
End
It might be called with develop
GinaSync ls develop
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:ls/develop', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'A/foo.txt',
\ 'B/foo.txt',
\])
End
It might be called with -- A/*.txt
GinaSync ls -- A/*.txt
Assert Equals(winnr('$'), 1)
Assert Equals(bufname('%'), printf('gina://%s:ls:--', slit1.refname))
Assert Equals(getline(1, '$'), [
\ 'A/foo.txt',
\])
End
End
End